Qual é a diferença entre campo (field) e propriedade (property) em C#?
Olá! Comecei a estudar C# e não consigo entender completamente a diferença entre campo e propriedade. Parece que ambos armazenam dados, mas para que servem as propriedades se posso simplesmente usar campos? Vi exemplos onde as pessoas escrevem algo como:
```csharp
public class Person
{
public string Name; // campo
public int Age { get; set; } // propriedade
}
```
E parece que ambos funcionam da mesma forma. Mas ouvi dizer que propriedades são a maneira "correta", e que campos é melhor torná-los privados. Por quê? Qual é o truque? Pode explicar com exemplos? Desde já, obrigado!
<<>>
Diferença principal: campo é uma variável, propriedade é um método
À primeira vista, campo e propriedade realmente parecem semelhantes, mas sua natureza interna é fundamentalmente diferente. Campo é simplesmente uma área de memória para armazenar um valor. Propriedade é açúcar sintático sobre os métodos get e set, que controlam o acesso ao campo.
Aqui está como o compilador vê seu