ValueTuple 結構

定義

提供用於建立值元組的靜態方法。

public value class ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
public value class ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
[System.Serializable]
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type ValueTuple = struct
    interface ITuple
type ValueTuple = struct
[<System.Serializable>]
type ValueTuple = struct
    interface ITuple
Public Structure ValueTuple
Implements IComparable, IComparable(Of ValueTuple), IEquatable(Of ValueTuple), IStructuralComparable, IStructuralEquatable, ITuple
Public Structure ValueTuple
Implements IComparable, IComparable(Of ValueTuple), IEquatable(Of ValueTuple), IStructuralComparable, IStructuralEquatable
繼承
ValueTuple
屬性
實作

備註

Tuple 是具有特定專案數目和序列的資料結構。 Tuple 的範例是資料結構,其中三個元素 (稱為 3 元組或三個) ,用來儲存第一個元素中的識別碼、第二個元素中的年份,以及第三個元素中該年的人收入。

值元組是在 .NET Framework 4.7 中引進的 Tuple 類型,可在C# 中提供 Tuple的執行時間實作,以及在 F# 中提供結構 Tuple 的執行時間實作。 它們與 Tuple 類別不同,例如 Tuple<T1>Tuple<T1,T2> 等,如下所示:

  • 它們是 (實值型別) 結構,而不是 (參考型別) 的類別。

  • 它們是可變的,而不是唯讀的。 也就是說,Tuple 元件的值可能會變更。

  • 其資料成員,例如 Item1Item2 等是欄位,而不是屬性。

結構 ValueTuple 代表沒有元素的元組。 它主要用於其靜態方法,可讓您建立和比較實值 Tuple 類型的實例。 其協助程式方法可讓您具現化值 Tuple,而不需要明確指定每個值 Tuple 元件的類型。 藉由呼叫其靜態 Create 方法,您可以建立從零到八個元件的值 Tuple。 對於具有八個以上的元件的值元組,您必須呼叫 建 ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> 構函式。

序列化和值元組

類型 ValueTuple 無法在 .NET Core 1.x 或 .NET Framework 4.7 和舊版中序列化。 此外,.NET Standard 包括 .NET Standard 2.0,不會強制序列化 ValueTuple 實例;不論實例是否 ValueTuple 可序列化,都取決於個別的 .NET Standard 實作。 若要判斷特定 ValueTuple .NET 實作上類型是否可序列化,請取得 Type 代表 ValueTuple 型別的 物件,並擷取其 IsSerializable 屬性的值。 如需 .NET Core 和 .NET Framework中可序列化的型別清單,請參閱二進位序列化

方法

CompareTo(ValueTuple)

比較目前的 ValueTuple 執行個體與指定的 ValueTuple 執行個體。

Create()

建立不含元件的新值元組。

Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8)

建立含有 8 個元件的新值元組 (八重物件)。

Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7)

建立含有 7 個元件的新值元組 (七重物件)。

Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6)

建立含有 6 個元件的新值元組 (六重物件)。

Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5)

建立含有 5 個元件的新值元組 (五重物件)。

Create<T1,T2,T3,T4>(T1, T2, T3, T4)

建立含有 4 個元件的新值元組 (四重物件)。

Create<T1,T2,T3>(T1, T2, T3)

建立含有 3 個元件的新值元組 (三重物件)。

Create<T1,T2>(T1, T2)

建立含有 2 個元件的新值元組 (一對)。

Create<T1>(T1)

建立含有 1 個元件的新值元組 (單一物件)。

Equals(Object)

傳回值,這個值指出目前的 ValueTuple 執行個體是否與指定的物件相等。

Equals(ValueTuple)

判斷兩個 ValueTuple 執行個體是否相等。 這個方法一律會傳回 true

GetHashCode()

傳回目前 ValueTuple 執行個體的雜湊碼。

ToString()

傳回這個 ValueTuple 執行個體的字串表示。

明確介面實作

IComparable.CompareTo(Object)

將這個 ValueTuple 執行個體與指定的物件相比較,並傳回其相對值的指示。

IStructuralComparable.CompareTo(Object, IComparer)

將目前的 ValueTuple 執行個體與指定的物件相比較。

IStructuralEquatable.Equals(Object, IEqualityComparer)

傳回值,這個值會根據指定的比較方法,指出目前的 ValueTuple 執行個體是否與指定的物件相等。

IStructuralEquatable.GetHashCode(IEqualityComparer)

傳回這個 ValueTuple 執行個體的雜湊碼。

ITuple.Item[Int32]

傳回 IndexOutOfRangeExceptionValueTuple 中沒有項目。

ITuple.Length

取得此 ValueTuple 執行個體的長度,其一律為 0。 ValueTuple 中沒有項目。

適用於