.NET LINQ 多字段分组

image.png
using System;
using System.Collections.Generic;
using System.Linq;

public class MyData
{
    public string Field1 { get; set; }
    public string Field2 { get; set; }
}

class Program
{
    static void Main()
    {
        // 创建包含数据的列表
        List<MyData> dataList = new List<MyData>
        {
            new MyData { Field1 = "A", Field2 = "X" },
            new MyData { Field1 = "B", Field2 = "Y" },
            new MyData { Field1 = "A", Field2 = "X" },
            new MyData { Field1 = "B", Field2 = "Z" },
            new MyData { Field1 = "C", Field2 = "Y" }
        };

        // 使用LINQ进行分组和统计
        var groupedData = dataList.GroupBy(item => new { item.Field1, item.Field2 })
                                  .Select(group =>
                                  {
                                      group.First().Field2 = string.Join(", ", group.Select(item => item.Field2));
                                      return group.First();
                                  }).ToList();

        // 输出结果
        foreach (var group in groupedData)
        {
            Console.WriteLine($"Field1: {group.Field1}, Field2: {group.Field2}");
        }
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容