ValueTuple<T1,T2> Struktur

Definition

Stellt ein Werttupel mit zwei Komponenten dar.

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

Typparameter

T1

Der Typ des ersten Elements des Werttupels.

T2

Der Typ des zweiten Elements des Werttupels.

Vererbung
ValueTuple<T1,T2>
Attribute
Implementiert

Hinweise

Ein Wert-Tupel ist eine Datenstruktur mit einer bestimmten Anzahl und Reihenfolge von Werten. Die ValueTuple<T1,T2> Struktur stellt ein Wert-Tupel dar, das zwei Elemente enthält.

Die Wert-Tupeltypen unterscheiden sich von den Tupeltypen (z. B. ) wie Tuple<T1,T2>folgt:

  • Sie sind Strukturen (Werttypen) anstelle von Klassen (Referenztypen).

  • Elemente, z. B Item1 . Felder und Item2 nicht Eigenschaften.

  • Ihre Felder sind stummschaltbar und nicht schreibgeschützt.

Die Wert-Tupeltypen stellen die Laufzeitimplementierung bereit, die Tupel in C# unterstützt und Tupel in F# angibt. Zusätzlich zum Erstellen einer ValueTuple<T1,T2> Instanz mithilfe der Sprachsyntax können Sie die Create Factorymethode aufrufen.

Serialisierung und Wert-Tupel

Der ValueTuple<T1,T2> Typ ist in .NET Core 1.x oder in den .NET Framework 4.7 und früheren Versionen nicht serialisierbar. Darüber hinaus ist .NET Standard, einschließlich .NET Standard 2.0, keine Serialisierung von ValueTuple<T1,T2> Instanzen erforderlich. Gibt an, ob eine ValueTuple<T1,T2> Instanz serialisiert werden kann, hängt von der einzelnen .NET Standardimplementierung ab. Um zu bestimmen, ob ein Typ für eine ValueTuple<T1,T2> bestimmte .NET-Implementierung serialisierbar ist, rufen Sie ein Type Objekt ab, das den ValueTuple<T1,T2> Typ darstellt und den Wert seiner IsSerializable Eigenschaft abruft. Eine Liste der serialisierbaren Typen in .NET Core und der .NET Framework finden Sie unter Binary Serialization.

Konstruktoren

ValueTuple<T1,T2>(T1, T2)

Initialisiert eine neue Instanz von ValueTuple<T1,T2>.

Felder

Item1

Ruft den Wert des ersten Elements der aktuellen ValueTuple<T1,T2>-Instanz ab.

Item2

Ruft den Wert des zweiten Elements der aktuellen ValueTuple<T1,T2>-Instanz ab.

Methoden

CompareTo(ValueTuple<T1,T2>)

Vergleicht die aktuelle ValueTuple<T1,T2>-Instanz mit einer angegebenen ValueTuple<T1,T2>-Instanz.

Equals(Object)

Gibt einen Wert zurück, der angibt, ob die aktuelle ValueTuple<T1,T2>-Instanz gleich einem angegebenen Objekt ist.

Equals(ValueTuple<T1,T2>)

Gibt einen Wert zurück, der angibt, ob die aktuelle ValueTuple<T1,T2>-Instanz gleich einer angegebenen ValueTuple<T1,T2>-Instanz ist.

GetHashCode()

Berechnet den Hashcode für die aktuelle ValueTuple<T1,T2>-Instanz.

ToString()

Gibt eine Zeichenfolge zurück, die den Wert dieser ValueTuple<T1,T2>-Instanz darstellt.

Explizite Schnittstellenimplementierungen

IComparable.CompareTo(Object)

Vergleicht die aktuelle ValueTuple<T1,T2>-Instanz mit einem angegebenen Objekt unter Verwendung der angegebenen Vergleichsfunktion und gibt eine Ganzzahl zurück, die darauf hinweist, ob sich das aktuelle Objekt in der Sortierreihenfolge vor oder hinter dem angegebenen Objekt oder an der gleichen Position befindet.

IStructuralComparable.CompareTo(Object, IComparer)

Vergleicht die aktuelle ValueTuple<T1,T2>-Instanz mit einem angegebenen Objekt unter Verwendung der angegebenen Vergleichsfunktion und gibt eine Ganzzahl zurück, die darauf hinweist, ob sich das aktuelle Objekt in der Sortierreihenfolge vor oder hinter dem angegebenen Objekt oder an der gleichen Position befindet.

IStructuralEquatable.Equals(Object, IEqualityComparer)

Gibt einen Wert zurück, der angibt, ob die aktuelle ValueTuple<T1,T2>-Instanz nach einer angegebenen Vergleichsmethode gleich einem angegebenen Objekt ist.

IStructuralEquatable.GetHashCode(IEqualityComparer)

Berechnet den Hashcode für die aktuelle ValueTuple<T1,T2>-Instanz mit einer angegebenen Berechnungsmethode.

ITuple.Item[Int32]

Ruft den Wert des angegebenen Elements ValueTuple ab.

ITuple.Length

Ruft die Anzahl der Elemente im ValueTuple ab.

Erweiterungsmethoden

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

Konvertiert eine Instanz der ValueTuple-Struktur in eine Instanz der Tuple-Klasse.

Gilt für