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


猜你喜欢
- 有一种方法可以阻止父层的View截获touch事件,就是调用 getParent().requestDisallowInterceptTou
- Spring MVC 启动的关键流程我们已经学习了 Handler 与 HandlerMapping,还未掌握的小伙伴可以翻看前面的文章进行
- aes 对称加密密钥必须是32字节using System;using System.Security.Cryptography;using
- 1、创建实体属性标记public class CellAttribute : Attribute {&n
- 题目要求为:卡拉兹(Callatz)猜想:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样
- 官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-a
- Cookie和Session都是为了保持用户的访问状态,一方面为了方便业务实现,另一方面为了简化服务端的程序设计,提高访问性能。Cookie
- 这篇文章主要介绍了SpringBoot2整合activiti6环境搭建过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定
- SSM+redis整合ssm框架之前已经搭建过了,这里不再做代码复制工作。这里主要是利用redis去做mybatis的二级缓存,mybait
- 前言Android开发中经常使用findViewById来获取控件然后进行一些列操作,当控件太多的时候代码就非常臃肿,今天就来学习一个新的开
- 前言很多时候,当你以为掌握了事实真相的时间,如果你能再深入一点,你可能会发现另外一些真相。比如面向切面编程的最佳编程实践是AOP,AOP的主
- Android中的Selector的用法 <?xml version="1.0" encoding=&q
- 场景:使用Fragment实现切页。类结构:一:ActivityActivity中使用getSupportFragmentManager()
- 本文实例讲述了android自由改变Dialog窗口位置的方法。分享给大家供大家参考。具体如下:Dialog dialog = new Di
- 什么是Drawable首先Drawable是一个抽象类,表示的是可以在Canvas中绘制的图像,常被用作一个view的背景,有多种实现类完成
- C#关于颜色值的表示:常用的颜色值表示方式有两种,一种是10进制的RGB值表示,如(0,113,255),三个值分别表示(红,绿,蓝);一种
- 本文接上文“java反射之获取类的信息方法(推荐)”,利用反射(invoke)来获取一个类中的方法来执行。1、定义一个类,包含三个名称相同,
- arthas能够更改日志的级别,下面是logger的用法查看logger信息,更新logger level查看所有logger信息logge
- 现在android的每一个项目都会需要设置为全屏,现在介绍两种设置为全屏的方式。一、在配置文件中设置android:theme=”@andr
- 目录springboot中定时任务的创建springboot通过注解创建定时任务首先引入pom直接上代码来一个栗子@Scheduled注解的