Nas versões anteriores ao Visual C# 3.0, se precisássemos criar propriedades dentro de uma classe C#, era necessário declarar o CAMPO para armazenar o valor e dois métodos dentro da propriedade, o GET e o SET.
Veja um exemplo usando propriedades codificadas em C# 2.0:
using System;
namespace Escola { public class Aluno { private string nome; private int idade; private decimal media; public string Nome { get { return nome; } set { nome = value; } } public int Idade { get { return idade; } set { idade = value; } } public decimal media { get { return media; } set { media = value; } } } }Agora veja o mesmo exemplo fazendo uso do novo recurso oferecido pelo Visual C# 3.0.
namespace Escola { public class Aluno { public string Nome { get; set; } public int Idade { get; set; } public decimal media { get; set; } } }Fazendo uma comparação as duas classes, notamos facilmente os benefícios proporcionados pela versão 3.0 do Visual C#, As propriedades automáticas permitem que os desenvolvedores omitem a declaração do campo correspondente, assim como o código contido no interior dos métodos GET e SET.
O código fica mais enxuto, mais simples permitindo ao desenvolvedor uma produtividade ainda maior, e menos propício a erros