在C#中List集合使用First()方法獲取第一個(gè)元素的操作
在C#的List集合操作過(guò)程中,如果要獲取List集合中的第一個(gè)元素對(duì)象,則一般會(huì)先通過(guò)獲取到list[0]這種方式來(lái)獲取第一個(gè)元素。
其實(shí)在List集合中提供了獲取最后一個(gè)元素的First()方法,調(diào)用此方法可直接獲取List集合中第一個(gè)元素。
例如有個(gè)List<int>集合的對(duì)象list1,需要獲取到該集合對(duì)象的第一個(gè)元素可使用First()方法,具體如下:
List<int> list1 = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var firstInt=list1.First();
補(bǔ)充知識(shí):c# List集合中First、Last、Single方法使用
操作符 |
如果源序列是空的 |
源序列只包含一個(gè)元素 |
源序列包含多個(gè)元素 |
First |
拋異常 |
返回該元素 |
返回第一個(gè)元素 |
FirstOrDefault |
返回default(TSource) |
返回該元素 |
返回第一個(gè)元素 |
Last |
拋異常 |
返回該元素 |
返回最后一個(gè)元素 |
LastOrDefault |
返回default(TSource) |
返回該元素 |
返回最后一個(gè)元素 |
Single |
拋異常 |
返回該元素 |
拋異常 |
SingleOrDefault |
返回default(TSource) |
返回該元素 |
拋異常 |
很明顯,如果輸入序列只有一個(gè)元素的話,這幾個(gè)操作符的執(zhí)行結(jié)果是非常一致的:) 類似的,如果輸入的序列是空的的話,那么沒(méi)有“OrDefault”的操作符會(huì)拋異常(InvalidOperationException),而帶有“OrDefault”的操作符則會(huì)返回元素類型的默認(rèn)值(引用類型的默認(rèn)值為null,int的默認(rèn)值為0,等等)。
如果(可能是被過(guò)濾過(guò)的)輸入序列含有多個(gè)元素的話,那這些操作符的執(zhí)行結(jié)果的差異是很大的,F(xiàn)irst和Last的結(jié)果是顧名思義的,而Single拋出異常。
值得注意的是,SingleOrDefault也會(huì)拋出異常,因?yàn)樗龅氖掠植皇窍襁@樣:如果輸入序列只有一個(gè)元素的話,返回該元素,否則的話返回默認(rèn)值。
如果你需要能夠處理多元素序列的操作符的話,用First或Last。如果你需要處理可能為空的序列的話,使用FirstOrDefault或LastOrDefault。請(qǐng)注意,如果使用帶有“OrDefault”的操作符的話,那么一個(gè)空的序列和一個(gè)僅包含默認(rèn)值的序列的執(zhí)行結(jié)果會(huì)是完全一樣的。
以上這篇在C#中List集合使用First()方法獲取第一個(gè)元素的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解C#如何計(jì)算一個(gè)實(shí)例占用多少內(nèi)存
我們都知道CPU和內(nèi)存是程序最為重要的兩類指標(biāo),那么有多少人真正想過(guò)一個(gè)類型的實(shí)例在內(nèi)存中究竟占多少字節(jié),本文就來(lái)用C#計(jì)算一下一個(gè)實(shí)例占用多少內(nèi)存吧2023-06-06WPF開(kāi)發(fā)之實(shí)現(xiàn)一種三軸機(jī)械手控件
這篇文章主要為大家詳細(xì)介紹了如何利用WPF實(shí)現(xiàn)簡(jiǎn)單一種三軸機(jī)械手控件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下2023-01-01C#實(shí)現(xiàn)Socket服務(wù)器及多客戶端連接的方式
這篇文章介紹了C#實(shí)現(xiàn)Socket服務(wù)器及多客戶端連接的方式,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01使用MSScriptControl 在 C# 中讀取json數(shù)據(jù)的方法
下面小編就為大家?guī)?lái)一篇使用MSScriptControl 在 C# 中讀取json數(shù)據(jù)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01