gpt4 book ai didi

c# - LINQ 中的 group n by 与 group n by into g 之间有什么区别?

转载 作者:行者123 更新时间:2023-12-04 01:41:03 25 4
gpt4 key购买 nike

我注意到两个 LINQ 查询产生相同的输出。我可以知道这两个分组查询有什么区别吗?是因为into可以按2个元素分组吗?

var groupBy = from n in numbers
group n by n;

和:

var groupBy = from n in numbers
group n by n into g
select g;

最佳答案

差异在方法语法中立即突出:

var groupBy = numbers.GroupBy(n => n);

对比(用进入)

var groupBy = numbers.GroupBy(n => n).Select(g => g);

现在您的示例不太有用,无法展示实际差异,因为每个组只是一个项目,所以让我们举个例子:

var group = from c in Company
group c by c.City;

如果这就是我们所需要的,按城市列出公司,我们就完成了。但是如果我们想对分组的结果做任何事情,我们需要 intoselect,例如:

var group = from c in Company
group c by c.City
into cg
select new
{
City = cg.Key,
NumberOfCompanies = cg.Count()
};

在方法语法中:

var group = Companies
.GroupBy(c => c.City)
.Select(gc => new
{
City = cg.Key,
NumberOfCompanies = cg.Count()
});

关于c# - LINQ 中的 group n by 与 group n by into g 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57406327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com