C#中List集合使用Max()方法查找到最大值的實(shí)例
在C#的List集合操作中,有時(shí)候需要查找到List集合中的最大值,此時(shí)可以使用List集合的擴(kuò)展方法Max方法,Max方法有2種形式,一種是不帶任何參數(shù)的形式,適用于一些值類型變量的List集合,另一種是帶Lambda表達(dá)式書(shū)寫(xiě)形式的,此方法可適用于獲取List集合中某一個(gè)屬性的最大值。
(1)不帶任何參數(shù)的Max方法形式舉例,程序調(diào)用形式如下:
List list1 = new List() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var maxValue = list1.Max();
運(yùn)算結(jié)果為:maxValue=10。
(2)帶Lambda表達(dá)式書(shū)寫(xiě)形式的Max方法舉例
我們需要獲取List集合對(duì)象testList集合中對(duì)象屬性Index的最大值,首先看下TestModel的定義:
public class TestModel { public int Index { set; get; } public string Name { set; get; } }
獲取testList集合中的所有對(duì)象的Index屬性最大值可使用下列語(yǔ)句:
List testList = new List<ConsoleApplication1.TestModel>();
var max = testList.Max(t => t.Index);
補(bǔ)充知識(shí):C#中List集合使用LastOrDefault方法查找出最后一個(gè)符合條件的元素
在C#的List集合中,F(xiàn)irstOrDefault方法一般用來(lái)查找List集合中第一個(gè)符合條件的對(duì)象,如果未查到則返回相應(yīng)默認(rèn)值。其實(shí)如果要查找最后一個(gè)符合條件的List集合元素對(duì)象,可以使用LastOrDefault方法來(lái)實(shí)現(xiàn),LastOrDefault方法的內(nèi)部書(shū)寫(xiě)形式為L(zhǎng)ambda表示式的書(shū)寫(xiě)形式。
LastOrDefault方法如果未查找到符合要求的元素對(duì)象,將會(huì)返回對(duì)應(yīng)默認(rèn)值。
(1)假設(shè)有個(gè)List集合對(duì)象list1,內(nèi)部元素為1至10。我們?cè)趯?shí)際運(yùn)算中并不知道list1集合中的具體元素情況,但我們需要查找到list1集合中的大于7的符合條件的最后一個(gè)元素對(duì)象可使用下列語(yǔ)句。
List list1 = new List() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var value=list1.LastOrDefault(t => t > 7);
(2)如果List集合存儲(chǔ)的是引用類型的對(duì)象,如自定義類,我們還可以根據(jù)某個(gè)屬性來(lái)查找最后一個(gè)符合條件的元素對(duì)象。
例如有個(gè)List集合對(duì)象testList,TestModel類的定義如下:
public class TestModel { public int Index { set; get; } public string Name { set; get; } }
我們需要查找出testList中的Index值大于7的最后一個(gè)符合條件的元素對(duì)象可使用下列語(yǔ)句:
var model=testList.LastOrDefault(t=>t.Index>7);
在上面的2個(gè)例子中,t=>t為L(zhǎng)ambda表達(dá)式的語(yǔ)句寫(xiě)法,t代表List集合中的元素對(duì)象。
以上這篇C#中List集合使用Max()方法查找到最大值的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#計(jì)算程序執(zhí)行過(guò)程花費(fèi)時(shí)間的方法
這篇文章主要介紹了C#計(jì)算程序執(zhí)行過(guò)程花費(fèi)時(shí)間的方法,涉及C#簡(jiǎn)單的時(shí)間運(yùn)算技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09C#實(shí)現(xiàn)對(duì)Json字符串處理實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)對(duì)Json字符串處理,通過(guò)一個(gè)json實(shí)例分析了C#進(jìn)行JSON操作的方法,需要的朋友可以參考下2014-09-09C#在復(fù)雜多線程環(huán)境下使用讀寫(xiě)鎖同步寫(xiě)入文件
這篇文章介紹了C#在復(fù)雜多線程環(huán)境下使用讀寫(xiě)鎖同步寫(xiě)入文件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04Unity實(shí)現(xiàn)植物識(shí)別示例詳解
這篇文章主要介紹了如何通過(guò)Unity接入百度AI實(shí)現(xiàn)植物識(shí)別,接口返回植物的名稱,并支持獲取識(shí)別結(jié)果對(duì)應(yīng)的百科信息。感興趣的可以了解一下2022-01-01C#中構(gòu)造函數(shù)和析構(gòu)函數(shù)用法實(shí)例詳解
這篇文章主要介紹了C#中構(gòu)造函數(shù)和析構(gòu)函數(shù)用法,結(jié)合實(shí)例形式詳細(xì)分析了C#中構(gòu)造函數(shù)與析構(gòu)函數(shù)的原理、定義、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-06-06C#.NET實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)登錄的方法
這篇文章主要介紹了C#.NET實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)登錄的方法,以實(shí)例形式分析了C#實(shí)現(xiàn)點(diǎn)擊自動(dòng)登錄的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09