ValueTuple ValueTuple ValueTuple ValueTuple Struct

定義

値のタプルを作成するための静的メソッドを提供します。Provides static methods for creating value tuples.

public value class ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
[System.Serializable]
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
type ValueTuple = struct
    interface ITuple
Public Structure ValueTuple
Implements IComparable, IComparable(Of ValueTuple), IEquatable(Of ValueTuple), IStructuralComparable, IStructuralEquatable, ITuple
継承
ValueTupleValueTupleValueTupleValueTuple
属性
実装

注釈

タプルとは、特定の数と要素のシーケンスを持つデータ構造です。A tuple is a data structure that has a specific number and sequence of elements. タプルの例は、最初の要素、3 番目の要素では、その年の 2 番目の要素と個人の収入における年のユーザーの名前などの識別子を格納するために使用する (3 タプル、すなわちトリプルと呼ばれます) 3 つの要素を含むデータ構造です。An example of a tuple is a data structure with three elements (known as a 3-tuple or triple) that is used to store an identifier such as a person's name in the first element, a year in the second element, and the person's income for that year in the third element.

値のタプルがで導入されたタプル型、.NET Framework 4.7.NET Framework 4.7のランタイム実装を提供する内の組C#と構造体タプルでF#します。Value tuples are tuple types introduced in the .NET Framework 4.7.NET Framework 4.7 to provide the runtime implementation of tuples in C# and struct tuples in F#. など、組クラスから異なるTuple<T1>Tuple<T1,T2>などに、次のとおりです。They differ from the tuple classes, such as Tuple<T1>, Tuple<T1,T2>, etc., as follows:

  • クラス (参照型) ではなく構造体 (値型) です。They are structures (value types) rather than classes (reference types).

  • 変更可能なよりも読み取り専用です。They are mutable rather than read-only. つまり、タプル コンポーネントの値を変更できます。That is, the value of tuple components can change.

  • そのデータ メンバーなどItem1Item2など、プロパティではなく、フィールドです。Their data members, such as Item1, Item2, etc., are fields rather than properties.

ValueTuple構造が要素を持たないタプルを表します。The ValueTuple structure represents a tuple that has no elements. 主にその静的メソッドを作成し、値のタプル型のインスタンスを比較できるため便利です。It is useful primarily for its static methods that let you create and compare instances of value tuple types. そのヘルパー メソッドを使用して、各値のタプル コンポーネントの型を明示的に指定することがなく値のタプルをインスタンス化できます。Its helper methods let you instantiate value tuples without having to explicitly specify the type of each value tuple component. 静的を呼び出すことによってCreateメソッド、0 から 8 つのコンポーネントを持つ値のタプルを作成することができます。By calling its static Create methods, you can create value tuples that have from zero to eight components. 8 つ以上のコンポーネントでは、値のタプルの呼び出す必要がある、ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest>コンス トラクター。For value tuples with more than eight components, you must call the ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor.

シリアル化と値の組Serialization and value tuples

ValueTuple型が .NET Core でシリアル化可能な 1.x または .NET Framework 4.7 と以前のバージョン。The ValueTuple type is not serializable in .NET Core 1.x or in the .NET Framework 4.7 and earlier versions. さらに、.NET Standard, .NET Standard 2.0 を含む必須ではないのシリアル化ValueTuple; のインスタンスかどうかをValueTupleインスタンスがシリアル化可能な個々 の .NET Standard の実装によって異なります。In addition, .NET Standard, including .NET Standard 2.0, does not mandate serialization of ValueTuple instances; whether or not a ValueTuple instance is serializable depends on the individual .NET Standard implementation. 確認するかどうかをValueTuple型は、特定の .NET 実装でシリアル化、取得、Typeを表すオブジェクトをValueTupleを入力しの値を取得、IsSerializableプロパティ。To determine whether a ValueTuple type is serializable on a particular .NET implementation, get a Type object that represents the ValueTuple type and retrieve the value of its IsSerializable property. .NET Core と .NET Framework でシリアル化可能な型の一覧は、次を参照してください。バイナリ シリアル化します。For a list of serializable types in .NET Core and the .NET Framework, see Binary Serialization.

メソッド

CompareTo(ValueTuple) CompareTo(ValueTuple) CompareTo(ValueTuple) CompareTo(ValueTuple)

現在の ValueTuple インスタンスを指定した ValueTuple インスタンスと比較します。Compares the current ValueTuple instance to a specified ValueTuple instance.

Create() Create() Create() Create()

コンポーネントを持たない新しい値のタプルを作成します。Creates a new value tuple with zero components.

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

8 個のコンポーネント (オクタプル) を持つ新しい値のタプルを作成します。Creates a new value tuple with 8 components (an octuple).

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

7 個のコンポーネント (セプタプル) を持つ新しい値のタプルを作成します。Creates a new value tuple with 7 components (a septuple).

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

6 個のコンポーネント (セクスプル) を持つ新しい値のタプルを作成します。Creates a new value tuple with 6 components (a sexuple).

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

5 個のコンポーネント (クインタプル) を持つ新しい値のタプルを作成します。Creates a new value tuple with 5 components (a quintuple).

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

4 個のコンポーネント (クアドラプル) を持つ新しい値のタプルを作成します。Creates a new value tuple with 4 components (a quadruple).

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

3 個のコンポーネント (トリプル) を持つ新しい値のタプルを作成します。Creates a new value tuple with 3 components (a triple).

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

2 個のコンポーネント (ペア) を持つ新しい値のタプルを作成します。Creates a new value tuple with 2 components (a pair).

Create<T1>(T1) Create<T1>(T1) Create<T1>(T1) Create<T1>(T1)

1 個のコンポーネント (シングルトン) を持つ新しい値のタプルを作成します。Creates a new value tuple with 1 component (a singleton).

Equals(ValueTuple) Equals(ValueTuple) Equals(ValueTuple) Equals(ValueTuple)

2 つの ValueTuple インスタンスが等しいかどうかを判断します。Determines whether two ValueTuple instances are equal. このメソッドは常に true を返します。This method always returns true.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

現在の ValueTuple インスタンスが、指定されたオブジェクトと等しいかどうかを示す値を返します。Returns a value that indicates whether the current ValueTuple instance is equal to a specified object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

現在の ValueTuple インスタンスのハッシュ コードを返します。Returns the hash code for the current ValueTuple instance.

ToString() ToString() ToString() ToString()

この ValueTuple オブジェクトの文字列表現を返します。Returns the string representation of this ValueTuple instance.

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

IStructuralComparable.CompareTo(Object, IComparer) IStructuralComparable.CompareTo(Object, IComparer) IStructuralComparable.CompareTo(Object, IComparer) IStructuralComparable.CompareTo(Object, IComparer)

現在の ValueTuple インスタンスを指定したオブジェクトと比較します。Compares the current ValueTuple instance to a specified object.

IStructuralEquatable.Equals(Object, IEqualityComparer) IStructuralEquatable.Equals(Object, IEqualityComparer) IStructuralEquatable.Equals(Object, IEqualityComparer) IStructuralEquatable.Equals(Object, IEqualityComparer)

指定した比較メソッドに基づいて、現在の ValueTuple インスタンスが、指定されたオブジェクトと等しいかどうかを示す値を返します。Returns a value that indicates whether the current ValueTuple instance is equal to a specified object based on a specified comparison method.

IStructuralEquatable.GetHashCode(IEqualityComparer) IStructuralEquatable.GetHashCode(IEqualityComparer) IStructuralEquatable.GetHashCode(IEqualityComparer) IStructuralEquatable.GetHashCode(IEqualityComparer)

この ValueTuple インスタンスのハッシュ コードを返します。Returns the hash code for this ValueTuple instance.

IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object)

指定したオブジェクトとこの ValueTuple インスタンスを比較し、これらの相対値を示す値を返します。Compares this ValueTuple instance with a specified object and returns an indication of their relative values.

ITuple.Item[Int32] ITuple.Item[Int32] ITuple.Item[Int32] ITuple.Item[Int32]

IndexOutOfRangeException を返します。Returns an IndexOutOfRangeException. ValueTuple に要素が存在しません。There are no elements in a ValueTuple.

ITuple.Length ITuple.Length ITuple.Length ITuple.Length

この ValueTuple インスタンスの長さを取得しますが、常に 0 です。Gets the length of this ValueTuple instance, which is always 0. ValueTuple に要素が存在しません。There are no elements in a ValueTuple.

適用対象