ValueTuple<T1,T2> 構造体

定義

2 個のコンポーネントを持つ値のタプルを表します。

generic <typename T1, typename T2>
public value class ValueTuple : IComparable, IComparable<ValueTuple<T1, T2>>, IEquatable<ValueTuple<T1, T2>>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
generic <typename T1, typename T2>
public value class ValueTuple : IComparable, IComparable<ValueTuple<T1, T2>>, IEquatable<ValueTuple<T1, T2>>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
public struct ValueTuple<T1,T2> : IComparable, IComparable<(T1, T2)>, IEquatable<(T1, T2)>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
public struct ValueTuple<T1,T2> : IComparable, IComparable<(T1, T2)>, IEquatable<(T1, T2)>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
[System.Serializable]
public struct ValueTuple<T1,T2> : IComparable, IComparable<(T1, T2)>, IEquatable<(T1, T2)>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type ValueTuple<'T1, 'T2> = struct
    interface ITuple
type ValueTuple<'T1, 'T2> = struct
[<System.Serializable>]
type ValueTuple<'T1, 'T2> = struct
    interface ITuple
Public Structure ValueTuple(Of T1, T2)
Implements IComparable, IComparable(Of ValueTuple(Of T1, T2)), IEquatable(Of ValueTuple(Of T1, T2)), IStructuralComparable, IStructuralEquatable, ITuple
Public Structure ValueTuple(Of T1, T2)
Implements IComparable, IComparable(Of ValueTuple(Of T1, T2)), IEquatable(Of ValueTuple(Of T1, T2)), IStructuralComparable, IStructuralEquatable

型パラメーター

T1

値のタプルの 1 番目の要素の型。

T2

値のタプルの 2 番目の要素の型。

継承
ValueTuple<T1,T2>
属性
実装

注釈

値タプルは、特定の数と値のシーケンスを持つデータ構造です。 構造体は ValueTuple<T1,T2> 、2 つの要素を持つ値タプルを表します。

値のタプル型は、次のようにタプル型 (など Tuple<T1,T2>) とは異なります。

  • これらは、クラス (参照型) ではなく構造体 (値型) です。

  • Item2 などのItem1メンバーは、プロパティではなくフィールドです。

  • フィールドは読み取り専用ではなく変更可能です。

値タプル型は、C# のタプルと F # の構造体タプル をサポートするランタイム実装を提供します。 言語構文を使用してインスタンスを ValueTuple<T1,T2> 作成するだけでなく、ファクトリ メソッドを Create 呼び出すこともできます。

シリアル化と値のタプル

型はValueTuple<T1,T2>、.NET Core 1.x または .NET Framework 4.7 以前のバージョンではシリアル化できません。 さらに、.NET Standard 2.0 を含む .NET Standard では、インスタンスの ValueTuple<T1,T2> シリアル化は必須ではありません。インスタンスがシリアル化可能かどうか ValueTuple<T1,T2> は、個々の .NET Standard 実装によって異なります。 特定の .NET 実装で型がシリアル化可能かどうかを ValueTuple<T1,T2> 判断するには、その型を Type 表す オブジェクトを ValueTuple<T1,T2> 取得し、その IsSerializable プロパティの値を取得します。 .NET Core と.NET Frameworkでのシリアル化可能な型の一覧については、「バイナリ シリアル化」を参照してください。

コンストラクター

ValueTuple<T1,T2>(T1, T2)

新しい ValueTuple<T1,T2> インスタンスを初期化します。

フィールド

Item1

現在の ValueTuple<T1,T2> インスタンスの 1 番目の要素の値を取得します。

Item2

現在の ValueTuple<T1,T2> インスタンスの 2 番目の要素の値を取得します。

メソッド

CompareTo(ValueTuple<T1,T2>)

現在の ValueTuple<T1,T2> インスタンスを指定した ValueTuple<T1,T2> インスタンスと比較します。

Equals(Object)

現在の ValueTuple<T1,T2> インスタンスが、指定されたオブジェクトと等しいかどうかを示す値を返します。

Equals(ValueTuple<T1,T2>)

現在の ValueTuple<T1,T2> インスタンスが、指定された ValueTuple<T1,T2> インスタンスと等しいかどうかを示す値を返します。

GetHashCode()

現在の ValueTuple<T1,T2> インスタンスのハッシュ コードを計算します。

ToString()

この ValueTuple<T1,T2> インスタンスの値を表す文字列を返します。

明示的なインターフェイスの実装

IComparable.CompareTo(Object)

指定した比較子を使って現在の ValueTuple<T1,T2> インスタンスと指定したオブジェクトを比較して、現在のオブジェクトが、並べ替え順序において、指定したオブジェクトの前後または同じ位置のいずれにあるかを示す整数を返します。

IStructuralComparable.CompareTo(Object, IComparer)

指定した比較子を使って現在の ValueTuple<T1,T2> インスタンスと指定したオブジェクトを比較して、現在のオブジェクトが、並べ替え順序において、指定したオブジェクトの前後または同じ位置のいずれにあるかを示す整数を返します。

IStructuralEquatable.Equals(Object, IEqualityComparer)

指定した比較メソッドに基づいて、現在の ValueTuple<T1,T2> インスタンスが、指定されたオブジェクトと等しいかどうかを示す値を返します。

IStructuralEquatable.GetHashCode(IEqualityComparer)

指定した計算メソッドを使って現在の ValueTuple<T1,T2> インスタンスのハッシュ コードを計算します。

ITuple.Item[Int32]

指定した ValueTuple 要素の値を取得します。

ITuple.Length

ValueTuple にある要素の数を取得します。

拡張メソッド

ToTuple<T1,T2>(ValueTuple<T1,T2>)

構造体のインスタンスを ValueTuple クラスのインスタンスに Tuple 変換します。

適用対象