C#中List集合使用Max()方法查找到最大值的实例

作者:IT技术小趣屋 时间:2023-12-01 08:03:32 

在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<ConsoleApplication1.TestModel>();

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集合中的元素对象。

来源:https://www.50bit.cn/News/Index/6395.html

标签:C#,List,Max,最大值
0
投稿

猜你喜欢

  • Apache Commons fileUpload实现文件上传之一

    2022-12-06 12:36:48
  • 基于springboot的RestTemplate、okhttp和HttpClient对比分析

    2021-07-02 03:14:21
  • idea搭建SSM框架遇踩的坑(附完整过程)

    2023-06-23 09:53:07
  • 详谈hibernate,jpa与spring data jpa三者之间的关系

    2022-08-04 22:35:57
  • Android自定义View实现五子棋游戏

    2021-12-25 19:32:55
  • SpringMvc接收参数方法总结(必看篇)

    2022-10-02 12:28:54
  • Java使用雪花id生成算法详解

    2023-11-18 21:58:49
  • 详解Spring boot/Spring 统一错误处理方案的使用

    2023-11-24 12:56:07
  • 解决myBatis返回integer值的问题

    2022-07-23 18:17:38
  • 通过Java实现文件断点续传功能

    2022-06-22 16:30:42
  • android如何获取联系人所有信息

    2021-10-24 13:24:41
  • Java编程基础测试题分享

    2023-11-27 22:14:58
  • flutter实现底部导航栏

    2023-08-23 01:06:13
  • SpringBoot实现redis缓存菜单列表

    2023-11-24 07:39:20
  • spring mvc4的日期/数字格式化、枚举转换示例

    2021-11-07 09:49:11
  • Java带返回值的方法的定义和调用详解

    2022-10-05 21:01:09
  • C++类静态成员与类静态成员函数详解

    2022-10-10 08:22:20
  • 一文带你了解Android中的网络请求

    2023-08-11 23:46:38
  • C#中类的使用教程详解

    2023-06-12 05:42:42
  • 基于java构造方法Vector查找元素源码分析

    2023-11-29 04:33:30
  • asp之家 软件编程 m.aspxhome.com