(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Klasse

Stellt ein n-Tupel dar, wobei n größer oder gleich 8 ist.

System.Object
  System.Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
[SerializableAttribute]
public class Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> : IStructuralEquatable, 
	IStructuralComparable, IComparable

Typparameter

T1

Der Typ der ersten Komponente des Tupels.

T2

Der Typ der zweiten Komponente des Tupels.

T3

Der Typ der dritten Komponente des Tupels.

T4

Der Typ der vierten Komponente des Tupels.

T5

Der Typ der fünften Komponente des Tupels.

T6

Der Typ der sechsten Komponente des Tupels.

T7

Der Typ der siebten Komponente des Tupels.

TRest

Ein beliebiges generisches Tuple-Objekt, das die Typen der restlichen Komponenten des Tupels definiert.

Der Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTuple<T1, T2, T3, T4, T5, T6, T7, TRest>Initialisiert eine neue Instanz der Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Klasse.
Zum Seitenanfang
  NameBeschreibung
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsItem1Ruft den Wert der ersten Komponente des aktuellen Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekts ab.
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsItem2Ruft den Wert der zweiten Komponente des aktuellen Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekts ab.
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsItem3Ruft den Wert der dritten Komponente des aktuellen Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekts ab.
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsItem4Ruft den Wert der vierten Komponente des aktuellen Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekts ab.
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsItem5Ruft den Wert der fünften Komponente des aktuellen Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekts ab.
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsItem6Ruft den Wert der sechsten Komponente des aktuellen Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekts ab.
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsItem7Ruft den Wert der siebten Komponente des aktuellen Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekts ab.
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsRestRuft die restlichen Komponenten des aktuellen Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekts ab.
Zum Seitenanfang
  NameBeschreibung
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEqualsGibt einen Wert zurück, der angibt, ob das aktuelle Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekt gleich einem angegebenen Objekt ist. (Überschreibt Object.Equals(Object).)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeBerechnet den Hashcode für das aktuelle Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekt. (Überschreibt Object.GetHashCode().)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge zurück, die den Wert dieser Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Instanz darstellt. (Überschreibt Object.ToString().)
Zum Seitenanfang
  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIComparable.CompareToVergleicht das aktuelle Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekt mit einem angegebenen Objekt und gibt eine ganze Zahl zurück, die angibt, ob sich das aktuelle Element in der Sortierreihenfolge vor, hinter oder an derselben Position wie das angegebene Element befindet.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIStructuralComparable.CompareToVergleicht das aktuelle Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekt anhand eines angegebenen Vergleichs mit einem angegebenen Objekt und gibt eine ganze Zahl zurück, die angibt, ob sich das aktuelle Element in der Sortierreihenfolge vor dem angegebenen Element, dahinter oder an derselben Position befindet.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIStructuralEquatable.EqualsGibt einen Wert zurück, der auf Grundlage einer angegebenen Vergleichsmethode angibt, ob das aktuelle Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekt gleich einem angegebenen Objekt ist.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIStructuralEquatable.GetHashCodeBerechnet mit einer angegebenen Berechnungsmethode den Hash für das aktuelle Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekt.
Zum Seitenanfang

Ein Tupel ist eine Datenstruktur, die eine bestimmte Anzahl und Sequenz von Werten besitzt. Die Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Klasse stellt ein n-Tupel dar, das über acht oder mehr Komponenten verfügt.

Sie können ein Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekt genau mit acht Komponenten instanziieren, indem Sie die statische Tuple.Create-Methode aufrufen. Das folgende Beispiel erstellt ein 8-Tupel (Oktupel), das Primzahlen enthält, die kleiner als 20 sind. Beachten Sie, dass es mit dem Typrückschluss den Typ jeder Komponente bestimmt.


var primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19);


Sie können auch ein n-Tupel-Objekt mit acht oder mehr Komponenten instanziieren, indem Sie den Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Konstruktor aufrufen. Das folgende Beispiel erstellt mithilfe des Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Konstruktors ein 8-Tupel, das dem im vorherigen Beispiel erstellten Tupel entspricht.


var primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,  
             Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19));


HinweisHinweis

Um ein n-Tupel mit neun oder mehr Komponenten zu erstellen, müssen Sie den Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Konstruktor aufrufen. Die statischen Factorymethoden der Tuple-Klasse unterstützen die Erstellung von Tuple-Objekten mit mehr als acht Komponenten nicht.

Um ein n-Tupel zu instanziieren, das über acht oder mehr Komponenten mit dem Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Konstruktor verfügt, geben Sie ein generisches Tuple-Objekt als rest-Parameter an, um die achte bis n-te Komponente des Tupels zu definieren. Sie können ein Tupel erstellen, dessen Komponenten praktisch unbeschränkt sind, indem Sie generische Tuple-Objekte auf diese Weise schachteln.

Im folgenden Beispiel wird ein 17-Tupel-Objekt erstellt, das Bevölkerungsdaten für den Ort Detroit, Michigan, für jede nationale Erhebung von 1860 bis 2000 enthält. Die erste Komponente des Tupels ist der Ortsname. Die zweite Komponente ist das Anfangsdatum der Datenreihe, und die dritte Komponente ist die Bevölkerung zum Anfangsdatum. Jede nachfolgende Komponente stellt die Bevölkerung zu Jahrzehnteintervallen bereit. Das 17-Tupel wird erstellt, indem ein Tuple<T1, T2, T3>-Objekt in einem Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekt geschachtelt wird. (Das heißt, das Tuple<T1, T2, T3>-Objekt wird als Wert des rest-Parameters im Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Klassenkonstruktor angegeben.) Dieses Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekt wird dann in einem äußeren Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekt geschachtelt. (Das heißt, das Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekt wird als Wert des rest-Parameters im äußeren Klassenkonstruktor des Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>-Objekts angegeben.)


var from1980 = Tuple.Create(1203339, 1027974, 951270);
var from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>> 
    (465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980);
var population = new Tuple<string, int, int, int, int, int, int,
    Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>> 
    ("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910);


Sie können dem Wert der ersten sieben Komponenten des Tupels mit den schreibgeschützten Instanzeigenschaften Item1, Item2, Item3, Item4, Item5, Item6 und Item7 abrufen. Alle zusätzlichen Komponenten sind geschachtelt und können aus der Rest-Eigenschaft abgerufen werden. Im vorherigen Beispiel ruft der Item1 über Item7-Eigenschaften die erste bis siebte Komponente des Tupels ab. Die achte bis vierzehnte Komponente ist im Tupel enthalten, das auf der zweiten Ebene geschachtelt wird, und wird durch die Eigenschaften Rest.Item1 bis Rest.Item7 dargestellt. Die fünfzehnte bis siebzehnte Komponente ist im Tupel enthalten, das auf der dritten Ebene geschachtelt wird, und wird durch die Eigenschaften Rest.Rest.Item1 bis Rest.Rest.Item3 dargestellt.

Tupel werden häufig auf vier verschiedene Weisen verwendet:

  • Um einen einzelnen Satz Daten darzustellen. Ein Tupel kann z. B. einen Datenbankdatensatz darstellen, und seine Komponenten können einzelne Felder des Datensatzes darstellen.

  • Um einfachen Zugriff auf und Manipulation eines Datasets bereitzustellen.

  • Um mehrere Werte ohne die Verwendung von out-Parametern (in C#) oder ByRef-Parametern (in Visual Basic) von einer Methode zurückzugeben. Im vorherigen Beispiel wird z. B. seine berechnete Statistik zusammen mit dem Ortsnamen in einem Tuple<T1, T2, T3, T4, T5, T6, T7>-Objekt zurückgegeben.

  • Um mehrere Werte durch einen einzelnen Parameter an eine Methode zu übergeben. Die Thread.Start(Object)-Methode verfügt z. B. über einen einzelnen Parameter, mit dem Sie einen Wert für die Methode angeben können, die der Thread beim Start ausführt. Wenn Sie ein Tuple<T1, T2, T3, T4, T5, T6, T7>-Objekt als Methodenargument angeben, können Sie die Startroutine des Threads mit sieben Elementen von Daten angeben.

.NET Framework

Unterstützt in: 4.5, 4

.NET Framework Client Profile

Unterstützt in: 4

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.