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

C# 如何用lambda表达式替换LINQ查询,c#,arrays,linq,lambda,C#,Arrays,Linq,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 elemen

假设我已经生成了一个数组列表,我想将它们按照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;
Random rnd=new Random();
var intArray=新列表();
对于(int i=0;i<99;i++)
{
添加(rnd.Next(20,50));
}
随机变量=
来自intArray中的元素
按元素%8将元素分组到g中
选择g;

您只需应用以下方法:


非常感谢。它看起来比我的LINQ好100倍。@user2128702这些查询都是LINQ。lambda甚至比您的查询更像LINQ(如果我们可以这么说的话),因为用查询语法编写的LINQ查询被编译成lambda语法查询。在编译时,您的查询看起来与这个lambda语法查询完全相同。
var groupedLetters = intArray.GroupBy(item => item % 8);