Avatar ·

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