.NET LINQ 多字段分组

2023-10-06  本文已影响0人  Charles2018
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}");
        }
    }
}

上一篇 下一篇

猜你喜欢

热点阅读