亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

LINQ 元素運(yùn)算符 ElementAt,ElementAtOrDefault

元素運(yùn)算符從序列(集合)中返回特定元素。

下表列出了LINQ中的所有Element運(yùn)算符。

元素運(yùn)算符(方法)描述
ElementAt返回集合中指定索引處的元素
ElementAtOrDefault返回集合中指定索引處的元素;如果索引超出范圍,則返回默認(rèn)值。
First返回集合的第一個(gè)元素,或滿足條件的第一個(gè)元素。
FirstOrDefault返回集合的第一個(gè)元素,或滿足條件的第一個(gè)元素。如果索引超出范圍,則返回默認(rèn)值。
Last返回集合的最后一個(gè)元素,或滿足條件的最后一個(gè)元素
LastOrDefault返回集合的最后一個(gè)元素,或滿足條件的最后一個(gè)元素。如果不存在這樣的元素,則返回默認(rèn)值。
Single返回集合中的唯一元素,或唯一滿足條件的元素。
SingleOrDefault返回集合中的唯一元素,或唯一滿足條件的元素。如果不存在這樣的元素,或者該集合不完全包含一個(gè)元素,則返回默認(rèn)值。

ElementAt()方法從給定集合返回指定索引中的元素。如果指定的索引超出集合的范圍,則它將拋出“索引超出范圍(Index out of range exception)”異常。請(qǐng)注意,索引是從零開(kāi)始的索引。

ElementAtOrDefault()方法還從協(xié)作中返回指定索引中的元素,如果指定索引不在集合的范圍內(nèi),則它將返回?cái)?shù)據(jù)類型的默認(rèn)值,而不是引發(fā)錯(cuò)誤。

下面的示例演示原始集合上的ElementAt和ElementAtOrDefault方法。

IList<int> intList = new List<int>() { 10, 21, 30, 45, 50, 87 };
IList<string> strList = new List<string>() { "One", "Two", null, "Four", "Five" };

Console.WriteLine("intList中的第一個(gè)元素: {0}", intList.ElementAt(0));
Console.WriteLine("strList中的第一個(gè)元素: {0}", strList.ElementAt(0));
		
Console.WriteLine("intList中的第二個(gè)元素: {0}", intList.ElementAt(1));
Console.WriteLine("strList中的第二個(gè)元素: {0}", strList.ElementAt(1));
		
Console.WriteLine("intList中的第三個(gè)元素: {0}", intList.ElementAtOrDefault(2));
Console.WriteLine("strList中的第三個(gè)元素: {0}", strList.ElementAtOrDefault(2));

Console.WriteLine("intList中的第10個(gè)元素: {0} - 默認(rèn)int值", 
                intList.ElementAtOrDefault(9));		
Console.WriteLine("strList中的第十個(gè)元素: {0} - 默認(rèn)字符串值(null)",
                 strList.ElementAtOrDefault(9));		
		
		
Console.WriteLine("intList. ElementAt (9)拋出異常: 索引超出范圍");
Console.WriteLine("-------------------------------------------------------------");
Console.WriteLine(intList.ElementAt(9));
輸出:
intList中的第一個(gè)元素:10 
strList中的第一個(gè)元素:
intList中的第二元素:21 
strList中的第二個(gè)元素:   
intList中的第三個(gè)元素:30 
strList中的第三個(gè)元素:

intList中的第十個(gè)元素:0 - 默認(rèn)int值
strList中的第十個(gè)元素:- 默認(rèn)字符串值(null)
----------------------------- --------------------------------
intList. ElementAt (9)拋出異常: 索引超出范圍

正如您在上面示例中所看到的那樣,intList.ElementAtOrDefault(9)返回0(默認(rèn)值為int),因?yàn)閕ntList不包含第十元素。 然而,intList.ElementAt(9)以相同的方式拋出“索引超出范圍”,(9)返回null,它是字符串類型的默認(rèn)值。 (控制臺(tái)顯示空白空間,因?yàn)樗荒茱@示空)

因此,建議使用 ElementAtOrDefault 擴(kuò)展方法來(lái)消除運(yùn)行時(shí)異常的可能性。

在下一節(jié)中,將了解另一個(gè)元素運(yùn)算符First和FirstOrDefault。