Pesquisas de dados em array com o LINQ
Aos desenvolvedores que pensam que o LINQ é somente para banco de dados, saibam que estão 100% errados quanto a esta idéia. O LINQ é para pesquisar qualquer tipo de dados em coleções, arrays, e também em banco de dados. Então, pegue um papel, lápis e borracha e monte um algoritmo para retornar somente os números menores que 5 do array numeros a seguir:
int[] numeros = { 4, 5, 6, 3, 7, 8, 9, 0, 2, 1};
Provavelmente vc deve ter feito um looping (foreach ou for) par varrer todos os elementos do array, e a cada item fez um if(condicao) para validar se é menor que 5. Então, veja com o LINQ como que fica o código (apenas uma linha):
var
num = from n in numeros where n < 5 select n;
Exato, é só isto mesmo, mais nada. Bom, pegue ainda o seu agoritmo acima, e acrescente o código para listar os items < 5 (afinal, o seu código já esta pronto) em ordem crescente!!! Não adianta fazer cara féia que não vale, escreva ai, agora, em 2 minutos, isto é fácil, certo???
Bem, no LINQ.... é só adicionar a clausula "orderby":
var num = from n in numeros where n < 5 orderby n select n;
E então, o que achou disto? Prefere ainda criar algoritmos? Que nada, mergulhe no LINQ e saiba o que é ser podutivo.