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
猜你喜欢
- 一、前言知识补充:Arrays.copyOf函数:public static int[] copyOf(int[] original, in
- 类注解@component 标注类,泛指各种组件,类不属于各种分类的时候,用它做标注。@Service 标注类,声明该类为业务层组件,用于处
- 首先我们看看为什么需要对象复制?为什么需要对象复制如上,是我们平时开发中最常见的三层MVC架构模型,编辑操作时Controller层接收到前
- 一、JVM 内存模型根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1、虚拟机栈:每个线程有一个
- 本文实例讲述了C#实现Base64处理的加密解密,编码解码。分享给大家供大家参考,具体如下:using System;using Syste
- 前言在上一篇文章中,我们分析了Spring中Bean的实例化过程,在结尾我们知道了虽然bean的实例化完成了,但是其中的属性还没有被注入,今
- 在讲述这个模式之前,我们先看一个案例:游戏回档游戏的某个场景,一游戏角色有生命力、攻击力、防御力等数据,在打Boss前和后会不一样,我们允许
- 首先是.select在MP查询中,默认查询所有的字段,如果有需要也可以通过select方法进行指定字段。其中要注意的细节:wrapper.s
- 1 泰勒级数介绍近期工作中需要使用matlab建模,期间做案例的时候有个方程:sin(x)=0,要求不使用现有api进行求解,然后有点懵,不
- 什么是Spring BootSpring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初
- 一、基本特点1. 开始时是乐观锁, 如果锁冲突频繁, 就转换为悲观锁.2. 开始是轻量级锁实现, 如果锁被持有的时间较长, 就转换成重量级锁
- spring cloud gateway获取请求的真实地址在使用spring cloud gateway的时候,路由一般配置为服务名例如 l
- 最近在用ssm框架做一个管理系统,做到登录验证时,使用了下面的代码生成图片验证码,最终的效果如下图。Java类public class Ra
- 在观察者模式中有2个要素:一个是被观察对象,另一个是观察者。但被观察对象的状态发生改变会通知观察者。举例:把订阅报纸的人看作是观察者,把报纸
- 概述:Flutter 标签类控件大全ChipFlutter内置了多个标签类控件,但本质上它们都是同一个控件,只不过是属性参数不同而已,在学习
- 井字棋游戏要求在3乘3棋盘上,每行都相同或者每列都相同再或者对角线相同,则胜出.因此我们可以使用一个二维数组来表示棋盘,判断胜负只需要判断数
- 本文实例讲述了java数据结构与算法之noDups去除重复项算法。分享给大家供大家参考,具体如下:public static void no
- 相关知识:Java中三种简单注解介绍和代码实例一、作用用 @Deprecated注解的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危
- 目录一、抽象类1.抽象类概述1.1 为什么要有抽象类?(抽象类的作用)1.2 抽象类的定义2. 抽象类特点3.抽象类成员特点4.抽象类案例二
- 前言开发传统Java WEB工程时,我们可以使用JSP页面模板语言,但是在SpringBoot中已经不推荐使用了。SpringBoot支持如