在C#中,如果你有一个列表的列表(即二维列表),并且你想从中获取某个属性的最大值,你可以使用LINQ(Language Integrated Query)来实现这一功能。下面是一个示例代码,展示了如何从一个包含多个列表的列表中获取对象的最大值。
假设我们有一个Person
类,其中包含一个Age
属性,我们想要找到所有列表中年龄最大的人的年龄。
using System;
using System.Collections.Generic;
using System.Linq;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
// 创建一个包含多个列表的列表
List<List<Person>> peopleLists = new List<List<Person>>
{
new List<Person> { new Person { Name = "Alice", Age = 30 }, new Person { Name = "Bob", Age = 25 } },
new List<Person> { new Person { Name = "Charlie", Age = 35 }, new Person { Name = "David", Age = 28 } },
new List<Person> { new Person { Name = "Eve", Age = 22 }, new Person { Name = "Frank", Age = 40 } }
};
// 使用LINQ获取最大年龄
int maxAge = peopleLists.SelectMany(list => list) // 将所有列表合并为一个列表
.Max(person => person.Age); // 获取最大年龄
Console.WriteLine($"The maximum age is: {maxAge}");
}
}
int maxAge = peopleLists.SelectMany(list => list)
.Where(person => person != null) // 添加null检查
.Max(person => person.Age);
通过这种方式,你可以安全地从一个列表的列表中获取对象的最大值,同时处理可能出现的异常情况。
T-Day
云+社区技术沙龙[第10期]
TVP分享会
云+社区技术沙龙[第14期]
小程序云开发官方直播课(应用开发实战)
云+社区技术沙龙第33期
云+社区技术沙龙[第22期]
云+社区技术沙龙[第6期]
腾讯云GAME-TECH沙龙
云+社区技术沙龙 [第30期]
领取专属 10元无门槛券
手把手带您无忧上云