terça-feira, 1 de fevereiro de 2011

Linq e seu filho mais famoso Linq-to-SQL

Com o .NET 3.0 e com o C# 3.0 foram introduzidas extensões à linguagem C# que mudou a forma de programar de muita gente. Uma das adições é uma syntaxe parecida com o SQL:

    int[] numbers = { 1, 2, 3 };
    var numbersPlusOne =
        from n in numbers
        select n + 1;

Mas também foram adicionados os Extension Methods:

    int[] numbers = { 1, 2, 3 };
    var numbersPlusOne =
        numbers
        .Select(n => n + 1);

Antes o tipo int[] não possuía o método Array.Select(Func<T, TResult>). Mas esse método pôde ser adicionado sem modificações à classe original através dos Extension Methods. Note que os dois trechos de código acima são equivalentes, apenas escritos de forma diferente, ambos em C# 3.0.

Nenhum comentário: