Usuário com melhor resposta
Lambda Expression, intervalo

Pergunta
-
Prezada comunidade,
Há alguma possibilidade, utilizando apenas lambda expression para interar sobre os itens de uma lista?
Tenho a necessidade de apresentar todos os objetos entre inicio e fim com o retorno irei criar uma nova lista.int[] numbers = { 1,10};
O resultado seria 1,2,3,4,5,6,7,8,9,10
Seria algo como um for só que em lambda.
Agradeço a todos.Leandro Figueira
Respostas
-
Amigo, por exemplo quero obter a lista de dias para os próximos 30 dias:
List<DateTime> datas = Enumerable.Range(1, 30).Select(c => DateTime.Now.AddDays(c)).ToList();
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Se for útil marque como resposta e faça um Developer feliz :)- Marcado como Resposta Leandro Figueira segunda-feira, 16 de maio de 2011 14:25
Todas as Respostas
-
Leandro, As expressões lambdas não contem uma funcionalidade destas, mas existem outras formas de conseguir isto que você quer através da classe Enumerable, utilizando o método Range, e passando o valor inicial e a quantidade de itens a ser gerada. O Legal é que você pode intercalar o Enumberable dentro de suas consultas LINQ, e com isto eu acho que você consegue o que quer. Veja:
var numeros = Enumerable.Range(0, 1000+1).ToList(); var queryNumero = (from c in numeros where Enumerable.Range(0, 10 + 1).Contains(c) select c).ToList();
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Se for útil marque como resposta e faça um Developer feliz :)- Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 12 de maio de 2011 16:54
-
Olavo,
Obrigado pela ajuda, você tem alguma sugestão para o uso da classe Enumerable, com o método Range só que trabalhando com datas?
Por exemplo, queria obter datas de um intervalo, sem o uso de um laços de repetições.
Atenciosamente,
Leandro Figueira -
Amigo, por exemplo quero obter a lista de dias para os próximos 30 dias:
List<DateTime> datas = Enumerable.Range(1, 30).Select(c => DateTime.Now.AddDays(c)).ToList();
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Se for útil marque como resposta e faça um Developer feliz :)- Marcado como Resposta Leandro Figueira segunda-feira, 16 de maio de 2011 14:25