(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>-Klasse

Stellt ein 3-Tupel bzw. Tripel dar.

System.Object
  System.Tuple<T1, T2, T3>

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
[SerializableAttribute]
public class Tuple<T1, T2, T3> : 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.

Der Tuple<T1, T2, T3>-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>Initialisiert eine neue Instanz der Tuple<T1, T2, T3>-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>-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>-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>-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>-Objekt einem angegebenen Objekt entspricht. (Ü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-AppsGetHashCodeGibt den Hashcode für das aktuelle Tuple<T1, T2, T3>-Objekt zurück. (Ü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>-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>-Objekt 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-AppsIStructuralComparable.CompareToVergleicht das aktuelle Tuple<T1, T2, T3>-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>-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>-Objekt.
Zum Seitenanfang

Ein Tupel ist eine Datenstruktur, die eine bestimmte Anzahl und Sequenz von Werten besitzt. Die Tuple<T1, T2, T3>-Klasse stellt ein 3-Tupel, oder Tripel (ein Tupel, das über drei Komponenten verfügt) dar.

Sie können ein Tuple<T1, T2, T3>-Objekt instanziieren, indem Sie entweder den Tuple<T1, T2, T3>-Konstruktor oder die statische Tuple.Create<T1, T2, T3>(T1, T2, T3)-Methode aufrufen. Sie können die Werte von Komponenten des Tupels mit den schreibgeschützten Instanzeigenschaften Item1, Item2 und Item3 abrufen.

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. Im folgenden Beispiel wird ein Array von Tuple<T1, T2, T3>-Objekten definiert, die die Namen von Studierenden, ihre durchschnittlichen Testergebnisse und die Anzahl der absolvierten Tests enthalten. Das Array wird an die ComputeStatistics-Methode übergeben, die die mittlere und die Standardabweichung der Testergebnisse berechnet.

    
    using System;
    
    public class Example
    {
       public static void Main()
       {
          Tuple<string, double, int>[] scores = 
                        { Tuple.Create("Jack", 78.8, 8),
                          Tuple.Create("Abbey", 92.1, 9), 
                          Tuple.Create("Dave", 88.3, 9),
                          Tuple.Create("Sam", 91.7, 8), 
                          Tuple.Create("Ed", 71.2, 5),
                          Tuple.Create("Penelope", 82.9, 8),
                          Tuple.Create("Linda", 99.0, 9),
                          Tuple.Create("Judith", 84.3, 9) };
          var result = ComputeStatistics(scores);
          Console.WriteLine("Mean score: {0:N2} (SD={1:N2}) (n={2})", 
                            result.Item2, result.Item3, result.Item1);
       }
    
       private static Tuple<int, double, double> ComputeStatistics(Tuple<string, double, int>[] scores) 
       {
          int n = 0;
          double sum = 0;
    
          // Compute the mean.
          foreach (var score in scores)
          {
             n += score.Item3;
             sum += score.Item2 * score.Item3;
          }
          double mean = sum / n;
    
          // Compute the standard deviation.
          double ss = 0;
          foreach (var score in scores)
          {
             ss = Math.Pow(score.Item2 - mean, 2);
          }
          double sd = Math.Sqrt(ss/scores.Length);
          return Tuple.Create(scores.Length, mean, sd);
       }
    }
    // The example displays the following output:
    //       Mean score: 87.02 (SD=0.96) (n=8)
    
    
    
  • 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. die zugehörige Zusammenfassungs-Testergebnisstatistik in einem Tuple<T1, T2, T3>-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>-Objekt als Methodenargument angeben, können Sie die Startroutine des Threads mit drei 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.