ValueTuple<T1,T2,T3> Struktur

Definition

Stellt ein Werttupel mit drei Komponenten dar.Represents a value tuple with 3 components.

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

Typparameter

T1

Der Typ des ersten Elements des Werttupels.The type of the value tuple's first element.

T2

Der Typ des zweiten Elements des Werttupels.The type of the value tuple's second element.

T3

Der Typ des dritten Elements des Werttupels.The type of the value tuple's third element.

Vererbung
ValueTuple<T1,T2,T3>
Attribute
Implementiert

Hinweise

Ein werttupel ist eine Datenstruktur, die über eine bestimmte Anzahl und eine bestimmte Sequenz von Werten verfügt.A value tuple is a data structure that has a specific number and sequence of values. Die ValueTuple<T1,T2,T3> -Struktur stellt ein werttupel mit drei Elementen dar.The ValueTuple<T1,T2,T3> structure represents a value tuple that has three elements.

Die werttupeltypen unterscheiden sich von den Tupeltypen Tuple<T1,T2,T3>(z. b.) wie folgt:The value tuple types differ from the tuple types (such as Tuple<T1,T2,T3>) as follows:

  • Dabei handelt es sich um Strukturen (Werttypen) anstelle von Klassen (Verweis Typen).They are structures (value types) rather than classes (reference types).

  • Member, z Item1 . Item2 b. und, sind eher Felder als Eigenschaften.Members such as Item1 and Item2 are fields rather than properties.

  • Ihre Felder sind änderbar und nicht schreibgeschützt.Their fields are mutable rather than read-only.

Die werttupeltypen bieten die Lauf Zeit Implementierung, die Tupel in C# und strukturtupel in F#unterstützt.The value tuple types provide the runtime implementation that supports tuples in C# and struct tuples in F#. Zusätzlich zum Erstellen einer ValueTuple<T1,T2,T3> -Instanz mithilfe der Sprachsyntax können Sie die Create Factorymethode aufzurufen.In addition to creating a ValueTuple<T1,T2,T3> instance by using language syntax, you can call the Create factory method.

Serialisierung und wertetupelSerialization and value tuples

Der ValueTuple<T1,T2,T3> Typ ist in .net Core 1. x oder in den .NET Framework 4,7 und früheren Versionen nicht serialisierbar.The ValueTuple<T1,T2,T3> type is not serializable in .NET Core 1.x or in the .NET Framework 4.7 and earlier versions. Außerdem wird von .NET Standard, einschließlich .NET Standard 2,0, keine Serialisierung von ValueTuple<T1,T2,T3> -Instanzen vorgeschrieben. unabhängig davon, ob eine ValueTuple<T1,T2,T3> -Instanz serialisierbar ist, hängt von der individuellen .NET Standard-Implementierung ab.In addition, .NET Standard, including .NET Standard 2.0, does not mandate serialization of ValueTuple<T1,T2,T3> instances; whether or not a ValueTuple<T1,T2,T3> instance is serializable depends on the individual .NET Standard implementation. Um zu ermitteln, ValueTuple<T1,T2,T3> ob ein Typ für eine bestimmte .NET-Implementierung serialisierbar ist Type , rufen Sie ein ValueTuple<T1,T2,T3> -Objekt ab, das den Typ IsSerializable darstellt, und rufen Sie den Wert seiner-Eigenschaft ab.To determine whether a ValueTuple<T1,T2,T3> type is serializable on a particular .NET implementation, get a Type object that represents the ValueTuple<T1,T2,T3> type and retrieve the value of its IsSerializable property. Eine Liste der serialisierbaren Typen in .net Core und der .NET Framework finden Sie unter binäre Serialisierung.For a list of serializable types in .NET Core and the .NET Framework, see Binary Serialization.

Konstruktoren

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

Initialisiert eine neue Instanz von ValueTuple<T1,T2,T3>.Initializes a new ValueTuple<T1,T2,T3> instance.

Felder

Item1

Ruft den Wert des ersten Elements der aktuellen ValueTuple<T1,T2,T3>-Instanz ab.Gets the value of the current ValueTuple<T1,T2,T3> instance's first element.

Item2

Ruft den Wert des zweiten Elements der aktuellen ValueTuple<T1,T2,T3>-Instanz ab.Gets the value of the current ValueTuple<T1,T2,T3> instance's second element.

Item3

Ruft den Wert des dritten Elements der aktuellen ValueTuple<T1,T2,T3>-Instanz ab.Gets the value of the current ValueTuple<T1,T2,T3> instance's third element.

Methoden

CompareTo(ValueTuple<T1,T2,T3>)

Vergleicht die aktuelle ValueTuple<T1,T2,T3>-Instanz mit einer angegebenen ValueTuple<T1,T2,T3>-Instanz.Compares the current ValueTuple<T1,T2,T3> instance to a specified ValueTuple<T1,T2,T3> instance.

Equals(Object)

Gibt einen Wert zurück, der angibt, ob die aktuelle ValueTuple<T1,T2,T3>-Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether the current ValueTuple<T1,T2,T3> instance is equal to a specified object.

Equals(ValueTuple<T1,T2,T3>)

Gibt einen Wert zurück, der angibt, ob die aktuelle ValueTuple<T1,T2,T3>-Instanz gleich einer angegebenen ValueTuple<T1,T2,T3>-Instanz ist.Returns a value that indicates whether the current ValueTuple<T1,T2,T3> instance is equal to a specified ValueTuple<T1,T2,T3> instance.

GetHashCode()

Berechnet den Hashcode für die aktuelle ValueTuple<T1,T2,T3>-Instanz.Calculates the hash code for the current ValueTuple<T1,T2,T3> instance.

ToString()

Gibt eine Zeichenfolge zurück, die den Wert dieser ValueTuple<T1,T2,T3>-Instanz darstellt.Returns a string that represents the value of this ValueTuple<T1,T2,T3> instance.

Explizite Schnittstellenimplementierungen

IComparable.CompareTo(Object)

Vergleicht die aktuelle ValueTuple<T1,T2,T3>-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.Compares the current ValueTuple<T1,T2,T3> instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order.

IStructuralComparable.CompareTo(Object, IComparer)

Vergleicht die aktuelle ValueTuple<T1,T2,T3>-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.Compares the current ValueTuple<T1,T2,T3> instance to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order.

IStructuralEquatable.Equals(Object, IEqualityComparer)

Gibt einen Wert zurück, der angibt, ob die aktuelle ValueTuple<T1,T2,T3>-Instanz nach einer angegebenen Vergleichsmethode gleich einem angegebenen Objekt ist.Returns a value that indicates whether the current ValueTuple<T1,T2,T3> instance is equal to a specified object based on a specified comparison method.

IStructuralEquatable.GetHashCode(IEqualityComparer)

Berechnet den Hashcode für die aktuelle ValueTuple<T1,T2,T3>-Instanz mit einer angegebenen Berechnungsmethode.Calculates the hash code for the current ValueTuple<T1,T2,T3> instance by using a specified computation method.

ITuple.Item[Int32]

Ruft den Wert des angegebenen Elements ValueTuple ab.Gets the value of the specified ValueTuple element.

ITuple.Length

Ruft die Anzahl der Elemente im ValueTuple ab.Gets the number of elements in the ValueTuple.

Erweiterungsmethoden

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

Konvertiert eine Instanz der ValueTuple-Struktur in eine Instanz der Tuple-Klasse.Converts an instance of the ValueTuple structure to an instance of the Tuple class.

Gilt für: