在C#的List集合操作中,有时候需要查找到List集合中的最大值,此时可以使用List集合的扩展方法Max方法,Max方法有2种形式,一种是不带任何参数的形式,适用于一些值类型变量的List集合,另一种是带Lambda表达式书写形式的,此方法可适用于获取List集合中某一个属性的最大值。
(1)不带任何参数的Max方法形式举例,程序调用形式如下:
List list1 = new List() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var maxValue = list1.Max();
运算结果为:maxValue=10。
(2)带Lambda表达式书写形式的Max方法举例
我们需要获取List集合对象testList集合中对象属性Index的最大值,首先看下TestModel的定义:
public class TestModel { public int Index { set; get; } public string Name { set; get; } }
获取testList集合中的所有对象的Index属性最大值可使用下列语句:
List testList = new List
(); var max = testList.Max(t => t.Index);
补充知识:C#中List集合使用LastOrDefault方法查找出最后一个符合条件的元素
在C#的List集合中,FirstOrDefault方法一般用来查找List集合中第一个符合条件的对象,如果未查到则返回相应默认值。其实如果要查找最后一个符合条件的List集合元素对象,可以使用LastOrDefault方法来实现,LastOrDefault方法的内部书写形式为Lambda表示式的书写形式。
LastOrDefault方法如果未查找到符合要求的元素对象,将会返回对应默认值。
(1)假设有个List集合对象list1,内部元素为1至10。我们在实际运算中并不知道list1集合中的具体元素情况,但我们需要查找到list1集合中的大于7的符合条件的最后一个元素对象可使用下列语句。
List list1 = new List() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var value=list1.LastOrDefault(t => t > 7);
(2)如果List集合存储的是引用类型的对象,如自定义类,我们还可以根据某个属性来查找最后一个符合条件的元素对象。
例如有个List集合对象testList,TestModel类的定义如下:
public class TestModel { public int Index { set; get; } public string Name { set; get; } }
我们需要查找出testList中的Index值大于7的最后一个符合条件的元素对象可使用下列语句:
var model=testList.LastOrDefault(t=>t.Index>7);
在上面的2个例子中,t=>t为Lambda表达式的语句写法,t代表List集合中的元素对象。
以上这篇C#中List集合使用Max()方法查找到最大值的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。