(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

Tuple<T1, T2, T3, T4, T5>-Klasse

Stellt ein 5-Tupel bzw. Quintupel dar.

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

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
public class Tuple<T1, T2, T3, T4, T5> : 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.

Der Tuple<T1, T2, T3, T4, T5>-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>Initialisiert eine neue Instanz der Tuple<T1, T2, T3, T4, T5>-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>-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>-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>-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>-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>-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>-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, T4, T5>-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, T4, T5>-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>-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>-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>-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>-Objekt.
Zum Seitenanfang

Ein Tupel ist eine Datenstruktur, die eine bestimmte Anzahl und Sequenz von Werten besitzt. Die Tuple<T1, T2, T3, T4, T5>-Klasse stellt ein 5-Tupel oder Quintupel dar, das über fünf Komponenten verfügt.

Sie können ein Tuple<T1, T2, T3, T4, T5>-Objekt instanziieren, indem Sie entweder den Tuple<T1, T2, T3, T4, T5>-Konstruktor oder die statische Tuple.Create<T1, T2, T3, T4, T5>(T1, T2, T3, T4, T5)-Methode aufrufen. Sie können den Wert von Komponenten des Tupels mit den schreibgeschützten Instanzeigenschaften Item1, Item2, Item3, Item4, Item5 und 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 werden ein Array von Tuple<T1, T2, T3, T4, T5>-Objekten, die die Namen von Running Backs im amerikanischem Football enthalten, die Anzahl der gespielten Spiele und die Zahl der Carrys, der gesamten gewonnenen Yards und der in diesen Spielen erzielten Touchdowns. Das Array wird an die ComputeStatistics-Methode übergeben. Diese berechnet die Anzahl der Läufe jedes Running Backs mit Ball pro Spiel, die durchschnittliche Anzahl der Yards pro Spiel, die durchschnittliche Anzahl der Yards pro Lauf mit Ball sowie die durchschnittliche Anzahl der Touchdowns pro Versuch.

    
    using System;
    using System.Collections.Generic;
    
    public class Example
    {
       public static void Main()
       {
          // Organization of runningBacks 5-tuple:
          //    Component 1: Player name
          //    Component 2: Number of games played
          //    Component 3: Number of attempts (carries)
          //    Component 4: Number of yards gained 
          //    Component 5: Number of touchdowns   
          Tuple<string, int, int, int, int>[] runningBacks =
               { Tuple.Create("Payton, Walter", 190, 3838, 16726, 110),  
                 Tuple.Create("Sanders, Barry", 153, 3062, 15269, 99),            
                 Tuple.Create("Brown, Jim", 118, 2359, 12312, 106),            
                 Tuple.Create("Dickerson, Eric", 144, 2996, 13259, 90),            
                 Tuple.Create("Faulk, Marshall", 176, 2836, 12279, 100) }; 
          // Calculate statistics.
          // Organization of runningStats 5-tuple:
          //    Component 1: Player name
          //    Component 2: Number of attempts per game
          //    Component 3: Number of yards per game
          //    Component 4: Number of yards per attempt 
          //    Component 5: Number of touchdowns per attempt   
          Tuple<string, double, double, double, double>[] runningStats  = 
              ComputeStatistics(runningBacks);
    
          // Display the result.          
          Console.WriteLine("{0,-16} {1,5} {2,6} {3,7} {4,7} {5,7} {6,7} {7,5} {8,7}\n", 
                            "Name", "Games", "Att", "Att/Gm", "Yards", "Yds/Gm",
                            "Yds/Att", "TD", "TD/Att");
          for (int ctr = 0; ctr < runningBacks.Length; ctr++)
             Console.WriteLine("{0,-16} {1,5} {2,6:N0} {3,7:N1} {4,7:N0} {5,7:N1} {6,7:N2} {7,5} {8,7:N3}\n", 
                               runningBacks[ctr].Item1, runningBacks[ctr].Item2, runningBacks[ctr].Item3, 
                               runningStats[ctr].Item2, runningBacks[ctr].Item4, runningStats[ctr].Item3, 
                               runningStats[ctr].Item4, runningBacks[ctr].Item5, runningStats[ctr].Item5);
       }
    
       private static Tuple<string, double, double, double, double>[] ComputeStatistics(
                    Tuple<string, int, int, int, int>[] players) 
       {
          Tuple<string, double, double, double, double> result; 
          var list = new List<Tuple<string, double, double, double, double>>();
    
          foreach (var player in players)
          {
             // Create result object containing player name and statistics.
             result = Tuple.Create(player.Item1,  
                                   player.Item3/((double)player.Item2), 
                                   player.Item4/((double)player.Item2),
                                   player.Item4/((double)player.Item3), 
                                   player.Item5/((double)player.Item3));
             list.Add(result);         
          }
          return list.ToArray();  
       }
    }
    // The example displays the following output:
    //    Name             Games    Att  Att/Gm   Yards  Yds/Gm Yds/Att    TD  TD/Att
    //    
    //    Payton, Walter     190  3,838    20.2  16,726    88.0    4.36   110   0.029
    //    
    //    Sanders, Barry     153  3,062    20.0  15,269    99.8    4.99    99   0.032
    //    
    //    Brown, Jim         118  2,359    20.0  12,312   104.3    5.22   106   0.045
    //    
    //    Dickerson, Eric    144  2,996    20.8  13,259    92.1    4.43    90   0.030
    //    
    //    Faulk, Marshall    176  2,836    16.1  12,279    69.8    4.33   100   0.035
    
    
    
  • Um mehrere Werte ohne die Verwendung von out-Parametern (in C#) oder ByRef-Parametern (in Visual Basic) von einer Methode zurückzugeben. Das vorherige Beispiel gibt z. B. seine berechnete Statistik, zusammen mit dem Namen des Spielers, in einem Array von Tuple<T1, T2, T3, T4, T5>-Objekten zurück.

  • 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>-Objekt als Methodenargument angeben, können Sie die Startroutine des Threads mit fünf Elementen von Daten angeben.

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 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

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 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)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. 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.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft