Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq IEnumerable<;i分组<;字符串,类>&燃气轮机;返回列表<;类别>;_C#_Linq - Fatal编程技术网

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();