如何用lambda表达式替换LINQ查询

use*_*702 0 c# linq arrays lambda

让我们说我已经生成了一个数组列表,并且我希望将它们相应地分组为8.这是我如何用LINQ做的,但我想知道如何使用labmda表达式:

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;
Run Code Online (Sandbox Code Playgroud)

Fré*_*idi 7

您只需要应用GroupBy()方法:

var groupedLetters = intArray.GroupBy(item => item % 8);
Run Code Online (Sandbox Code Playgroud)

  • @ user2128702这些查询都是LINQ.并且lambda比你的查询更加LINQ(如果我们可以这么说),因为用*query syntax*编写的LINQ查询被编译成*lambda语法查询*.编译时,您的查询看起来与此lambda语法查询完全相同. (4认同)