linq - 使用 Linq 按数组内的数组分组

标签 linq c#-4.0

我可以使用下面的代码按有效数组中的 ID 属性进行分组。

var docArray = MyArray;                                                        

var docGroup = docArray.GroupBy(x => x.ID)
    .Select(grp => new
    {
        Id = grp.Key,
        Results = grp.ToList(),
    }).ToList();

如果 MyArray 中有另一个数组,它有一个属性说数据,请告诉我如何根据数据属性进行分组。

class MyArray
{
    SecondArray[] arr = new SecondArray[2];
    public int ID{get;set;}   
}

class SecondArray
{
    public string Data{ get; set; }   
}

最佳答案

var query = from a in docArray
            from b in a.arr
            group new { a, b } by b.Data into g
            select new
            {
              g.Key,
              Results = g.ToList()
            };

关于linq - 使用 Linq 按数组内的数组分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26365694/

相关文章:

c# - 缺少 .NET 4.0 的引用程序集文件夹

linq - lambda 比 linq 查询快吗?

MongoDB 使用 C# 从文档中仅检索匹配的子文档

wpf - VisualStateManager同时出现在WPF Toolkit和PresentationFramework中 - 如何解决

c# - 如何在当前程序集中查找具有特定名称的 C# 接口(interface)的实现?

c# - 对 XML 文件的条件 LINQ 查询

c# - 添加具有数据类型属性的新 XElement

c# - 如何为 System.Core 创建外部别名?

c - 是否可以从 C#.Net 调用 C 函数

c# - 在 linq 中,如何从列表中取出特定参数并构建不同类型的新列表?