共用方式為


設定作業 (Visual Basic)

在 LINQ 中,集操作是指根據同一或不同集合中對等元素的存在或缺失來產生結果集的查詢操作。

執行設定作業的標準查詢運算符方法會列在下一節中。

方法

方法名稱 說明 Visual Basic 查詢表達式語法 詳細資訊
Distinct 或 DistinctBy 移除集合中的重複值。 Distinct Enumerable.Distinct
Enumerable.DistinctBy
Queryable.Distinct
Queryable.DistinctBy
Except 或 ExceptBy 傳回集合差異,也就是第一個集合中未出現在第二個集合的元素。 不適用。 Enumerable.Except
Enumerable.ExceptBy
Queryable.Except
Queryable.ExceptBy
Intersect 或 IntersectBy 傳回集交集,表示出現在這兩個集合中的項目。 不適用。 Enumerable.Intersect
Enumerable.IntersectBy
Queryable.Intersect
Queryable.IntersectBy
Union 或 UnionBy 傳回集聯集,表示出現在兩個集合中任一集合的唯一項目。 不適用。 Enumerable.Union
Enumerable.UnionBy
Queryable.Union
Queryable.UnionBy

集合運算的比較

獨特的

下圖描繪Enumerable.Distinct方法在字元序列上的行為。 所傳回的序列包含輸入序列中的唯一項目。

顯示 Distinct() 行為的圖形。

除了

下圖描述Enumerable.Except的行為。 傳回的序列只包含第一個輸入序列中不在第二個輸入序列中的元素。

顯示 Except() 動作的圖形。

相交

下圖描述Enumerable.Intersect的行為。 所傳回的序列包含兩個輸入序列共有的項目。

顯示兩個序列交集的圖形。

聯盟

下圖描述兩個字元序列的聯集作業。 所傳回的序列包含兩個輸入序列中的唯一項目。

顯示兩個序列聯集的圖形。

查詢運算式語法範例

下列範例會使用 Distinct LINQ查詢中的子句,從整數清單中傳回唯一的數位。


Dim classGrades = New System.Collections.Generic.List(Of Integer) From {63, 68, 71, 75, 68, 92, 75}

Dim distinctQuery = From grade In classGrades
                    Select grade Distinct

Dim sb As New System.Text.StringBuilder("The distinct grades are: ")
For Each number As Integer In distinctQuery
    sb.Append(number & " ")
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' The distinct grades are: 63 68 71 75 92 

另請參閱