服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C#中List集合使用Max()方法查找到最大值的实例

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

2022-10-20 13:10IT技术小趣屋 C#

这篇文章主要介绍了C#中List集合使用Max()方法查找到最大值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在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的定义:

?
1
2
3
4
5
6
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类的定义如下:

?
1
2
3
4
5
6
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()方法查找到最大值的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://www.50bit.cn/News/Index/6395.html

延伸 · 阅读

精彩推荐
  • C#C# Redis学习系列(二)Redis基本设置

    C# Redis学习系列(二)Redis基本设置

    这篇文章主要为大家分享了C# Redis学习系列教程第二篇, Redis基本设置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    change_4_now5342022-01-04
  • C#C#使用RabbitMq队列(Sample,Work,Fanout,Direct等模式的简单使用)

    C#使用RabbitMq队列(Sample,Work,Fanout,Direct等模式的简单使用)

    这篇文章主要介绍了C#使用RabbitMq队列(Sample,Work,Fanout,Direct等模式的简单使用),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,...

    做自己5189162022-10-11
  • C#C# 如何设置label(标签)控件的背景颜色为透明

    C# 如何设置label(标签)控件的背景颜色为透明

    这篇文章主要介绍了C# 如何设置label(标签)控件的背景颜色为透明,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...

    rainbow706267632022-10-12
  • C#C#验证码问题的快速解决方法

    C#验证码问题的快速解决方法

    下面小编就为大家带来一篇C#验证码问题的快速解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    C#教程网10592021-12-01
  • C#VS2012 未找到与约束ContractName匹配的导出

    VS2012 未找到与约束ContractName匹配的导出

    这篇文章主要介绍了在更新的windows补丁后,Visual Studio 用户可能无法打开或创建 C++ 或 JavaScript 文件或项目,小编的解决办法,希望可以帮助到大家...

    陈丽娜4732022-02-22
  • C#C# 中的 is 真的是越来越强大越来越语义化(推荐)

    C# 中的 is 真的是越来越强大越来越语义化(推荐)

    这篇文章主要介绍了C# 中的 is 真的是越来越强大越来越语义化,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可...

    一线码农5362022-10-10
  • C#Unity实现轮盘方式的按钮滚动效果

    Unity实现轮盘方式的按钮滚动效果

    这篇文章主要为大家详细介绍了Unity实现轮盘方式的按钮滚动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    以梦为马,不负韶华11552022-03-09
  • C#详解C# 中Session的用法

    详解C# 中Session的用法

    这篇文章主要介绍了C# 中Session的用法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...

    时光巷尾9112022-09-28