C# 将List<T>分组

/// <summary>
/// 人
/// </summary>
public class Person
{
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 年龄
/// </summary>
public int Age { get; set; }
/// <summary>
/// 分值
/// </summary>
public int Score { get; set; }
}

 

List<Person> people = new List<Person>
{
  new Person { Name = "Alice", Age = 25, Score=100 },
  new Person { Name = "Bob", Age = 25, Score=90 },
  new Person { Name = "Alice", Age = 25, Score=80 },
  new Person { Name = "Charlie", Age = 30, Score=70 }
};
// 使用ToLookup按Name和Age分组
var lookupByMultipleFields = people.ToLookup(p => new { p.Name, p.Age });
foreach (var group in lookupByMultipleFields)
{
  Console.WriteLine($"Group: Name={group.Key.Name}, Age={group.Key.Age}");
  foreach (var person in group)
  {
    Console.WriteLine($" {person.Name}, {person.Age}, {person.Score}");
  }
}

 

posted on 2025-03-18 14:54  贪狼木星  阅读(50)  评论(0)    收藏  举报

导航