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