ValueTuple 結構
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供用於建立值元組的靜態方法。
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
- 繼承
- 屬性
- 實作
備註
Tuple 是具有特定專案數目和序列的資料結構。 Tuple 的範例是資料結構,其中三個元素 (稱為 3 元組或三個) ,用來儲存第一個元素中的識別碼、第二個元素中的年份,以及第三個元素中該年的人收入。
值元組是在 .NET Framework 4.7 中引進的 Tuple 類型,可在C# 中提供 Tuple的執行時間實作,以及在 F# 中提供結構 Tuple 的執行時間實作。 它們與 Tuple 類別不同,例如 Tuple<T1> 、 Tuple<T1,T2> 等,如下所示:
它們是 (實值型別) 結構,而不是 (參考型別) 的類別。
它們是可變的,而不是唯讀的。 也就是說,Tuple 元件的值可能會變更。
其資料成員,例如
Item1
、Item2
等是欄位,而不是屬性。
結構 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 執行個體是否相等。 這個方法一律會傳回 |
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] |
傳回 IndexOutOfRangeException。 |
ITuple.Length |
取得此 |