C# Linq IEnumerable<;i分组<;字符串,类>&燃气轮机;返回列表<;类别>;
如何将以下语句返回到C# Linq IEnumerable<;i分组<;字符串,类>&燃气轮机;返回列表<;类别>;,c#,linq,C#,Linq,如何将以下语句返回到列表 每个i分组都是一个i可数,因此您只需调用SelectMany即可展平序列: var list = documents.SelectMany(d => d).ToList(); 编辑:根据更新的问题,OP似乎只想为任何给定文件名选择第一个文档。这可以通过在每个i分组实例上调用First()来实现: IEnumerable<DocumentData> documents = documentCollection.GroupBy(g =>
列表
每个i分组
都是一个i可数
,因此您只需调用SelectMany
即可展平序列:
var list = documents.SelectMany(d => d).ToList();
编辑:根据更新的问题,OP似乎只想为任何给定文件名选择第一个文档。这可以通过在每个i分组
实例上调用First()
来实现:
IEnumerable<DocumentData> documents =
documentCollection.GroupBy(g => g.FileName, StringComparer.OrdinalIgnoreCase)
.Select(g => g.First())
.ToList();
IEnumerable文档=
GroupBy(g=>g.FileName,StringComparer.OrdinalIgnoreCase)
.Select(g=>g.First())
.ToList();
您还没有说您要查找的列表中的t
应该代表什么,因此以下是最可能需要的两个:
列表
-毫无意义,因为您已经在文档集合
list你想得到什么的列表?DocumentData?选择(d=>d)
有什么意义?这里已经回答了:@dasblinkenlight:答案解决了OP当前的问题。它的缺点应该有希望鼓励他们改进自己的问题。这里有一个值得考虑的问题。
var list = documents.SelectMany(d => d).ToList();
IEnumerable<DocumentData> documents =
documentCollection.GroupBy(g => g.FileName, StringComparer.OrdinalIgnoreCase)
.Select(g => g.First())
.ToList();
var results = documents.SelectMany(g => g).ToList();
var results =
documents.Select(g => new KeyValuePair(g.Key, g.ToList())).ToList();
var results = documents.Select(g => g.Key).ToList();
var results = documents.ToList();