LINQ元素操作符

除了DefaultIfEmpty,其餘八種標準查詢元素運算符從集合返回單個元素。

查看示例

操作

描述

C#查詢表達式語法

VB查詢表達式語法

ElementAt

返回一個特定的索引中的一個元素存在於一個集合

不適用

不適用

ElementAtOrDefault

相同於ElementAt,它也將返回默認值,特定索引超出範圍返回默認值

不適用

不適用

First

檢索的集合或第一元件滿足特定的條件中的第一個元素

不適用

不適用

FirstOrDefault

相同First除了返回一個默認值沒有存在這樣的元素

不適用

不適用

Last

檢索最後一個出現在集合或最後一個元素的元素滿足特定條件

不適用

不適用

LastOrDefault

相同Last除了返回一個默認值沒有存在任何這樣的元素

不適用

不適用

Single

返回集合的唯一元素或唯一元素滿足一定條件

不適用

不適用

SingleOrDefault

相同單除了它也返回一個默認值,如果沒有存在任何這樣的唯一元素

不適用

不適用

DefaultIfEmpty

返回默認值,如果集合或列表爲空或null

不適用

不適用

ElementAt示例- Enumerable.ElementAt方法

C#

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Operators { class Program { static void Main(string[] args) { string[] names = { "Hartono, Tommy", "Adams, Terry", "Andersen, Henriette Thaulow", "Hedlund, Magnus", "Ito, Shu" }; Random random = new Random(DateTime.Now.Millisecond); string name = names.ElementAt(random.Next(0, names.Length)); Console.WriteLine("The name chosen at random is '{0}'.", name); Console.ReadLine(); } } }

VB

Module Module1 Sub Main() Dim names() As String = _ {"Hartono, Tommy", "Adams, Terry", "Andersen, Henriette Thaulow", "Hedlund, Magnus", "Ito, Shu"} Dim random As Random = New Random(DateTime.Now.Millisecond) Dim name As String = names.ElementAt(random.Next(0, names.Length)) MsgBox("The name chosen at random is " & name) End Sub End Module

當C#或VB的上述代碼被編譯和執行時,它產生了以下結果:

The name chosen at random is Ito, Shu

注: - 在這裏,上面的輸出會動態變化和名稱會被隨機選擇。

First示例- Enumerable.First方法

C#

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Operators { class Program { static void Main(string[] args) { int[] numbers = { 9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19 }; int first = numbers.First(); Console.WriteLine(first); Console.ReadLine(); } } }

VB

Module Module1 Sub Main() Dim numbers() As Integer = _ {9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19} Dim first As Integer = numbers.First() MsgBox(first) End Sub End Module

當C#或VB的上述代碼被編譯和執行時,它產生了以下結果:

9

Last例子- Enumerable.Last方法

C#

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Operators { class Program { static void Main(string[] args) { int[] numbers = { 9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19 }; int last = numbers.Last(); Console.WriteLine(last); Console.ReadLine(); } } }

VB

Module Module1 Sub Main() Dim numbers() As Integer = _ {9, 34, 65, 92, 87, 435, 3, 54, 83, 23, 87, 435, 67, 12, 19} Dim last As Integer = numbers.Last() MsgBox(last) End Sub End Module

當C#或VB的上述代碼被編譯和執行時,它產生了以下結果:

19