如何对这个 LINQ 查询进行分组(GroupBy)?

5
这是我的代码:
objectList = (from MyObject obj in MyObjects
             select r).ToList();

我想返回每个记录的列表,并使用“distinct” obj.ID。我该怎么做?
2个回答

2

听起来你可能想要使用ToLookup方法:

var lookup = MyObjects.ToLookup(x => x.ID);

使用该方法,您可以获取特定ID的所有值,或迭代整个分组。它是急切地进行评估,而不是按需懒惰地进行评估(GroupBy),这可能是您在此情况下需要的。

我假设我正确理解了您的请求-完全有可能我没有...如果您能澄清一下会很有帮助。


2
这将给你类型为IGrouping<int, MyObject>的列表(注意,我假设IDint类型)。
groupedList = (from obj in MyObjects
             group obj by obj.ID into grouped
             select grouped).ToList();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接