Como você já deve estar sabendo, no último dia 19 de novembro a Microsoft lançou oficialmente um RTM do Visual Studio 2008 e o .net 3.5. Com este lançamento, também já podemos contar com a nova versão da linguagem C#, a 3.0. Neste artigo veremos as principais novidades do C# 3.0, já no ambiente do Visual Studio 2008. Propriedades automáticas Uma das novidades que vai facilitar muito a vida dos desenvolvedores C# é o surgimento das propriedades automáticas. Antes, para definir a propriedade Nome de uma classe qualquer, era necessário declarar um atributo e uma propriedade com seu get e set. Veja um exemplo na Listagem 1. Listagem 1. Propriedade private string _Nome; public string { get { return _Nome; } set { _Nome = value; } } Agora resolvemos esta questão com uma única linha de código, sem a necessidade da declaração do atributo, nem dos blocos get e set. Veja o exemplo a seguir: public string É claro, que por debaixo dos panos o compilador se encarrega de fazer o que antes fazíamos com a codificação dos gets e sets. Mas sem dúvida esta novidade vai facilitar a vida de muita gente. Variáveis com tipagem implícita O nome parece complexo, mas o conceito é muito simples. No C# 3.0 foi introduzido o var. Com este novo “operador”, você pode criar variáveis sem definir explicitamente o seu tipo. O tipo será definido de acordo com a expressão utilizada para inicializar a variável. Em outras palavras, no C# 3.0 você poderá fazer o seguinte: var x = 1; Nesta linha a variável x é inicializada com o valor 1, definindo x como uma variável do tipo inteiro. Veja bem, x não é um object ou um variant do VB6. A variável x é declarada como uma variável fortemente tipada, do tipo int. Para garantir que uma variável criada com o var seja fortemente tipada, você precisa sempre iniciar ela na mesma linha da declaração da variável. E o inicializador da variável precisa ser uma expressão, e não um objeto ou um valor nulo. Você também pode utilizar o var para a criação de arrays de tipagem implícita. Veja o exemplo a seguir, onde estamos declarando uma array do tipo int[]. var y = new[] {1, 2, 3 }; Tipos anônimos ...