2013-12-17 55 views
0

比方说,我已经产生阵列的列表,我因此想将它们组合到由8余数这是我如何使用LINQ做到这一点,但我想知道如何通过使用labmda表达:如何替代LINQ查询使用Lambda表达式

Random rnd = new Random(); 
var intArray = new List<int>(); 
for (int i = 0; i < 99; i++) 
{ 
    intArray.Add(rnd.Next(20, 50)); 
} 
var randomLettersSortedAsc = 
    from element in intArray 
    group element by element % 8 into g 
    select g; 

回答

7

去做了,你只需要应用GroupBy()方法:

var groupedLetters = intArray.GroupBy(item => item % 8); 
+0

谢谢。它看起来比我的LINQ好100倍。 – user2128702

+4

@ user2128702这些查询都是LINQ。和Lambda更是LINQ(如果我们可以这么说),比你的查询,因为LINQ查询写在*查询语法*被编译成* lambda语法查询*。而在编译时,你的查询将看起来完全一样,因为这拉姆达语法查询。 –

+0

谢谢你的信息。 – user2128702