Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Tuple<T1, T2>, classe

Représente un objet de 2 tuples, ou paire.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)

[SerializableAttribute]
public class Tuple<T1, T2> : IStructuralEquatable, IStructuralComparable, 
	IComparable

Paramètres de type

T1

Type du premier composant du tuple.

T2

Type du second composant du tuple.

Le type Tuple<T1, T2> expose les membres suivants.

  NomDescription
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTuple<T1, T2>Initialise une nouvelle instance de la classe Tuple<T1, T2>.
Début

  NomDescription
Propriété publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreItem1Obtient la valeur du premier composant de l'objet Tuple<T1, T2> actuel.
Propriété publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreItem2Obtient la valeur du deuxième composant de l'objet Tuple<T1, T2> actuel.
Début

  NomDescription
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreEqualsRetourne une valeur qui indique si l'objet Tuple<T1, T2> actif est égal à un objet spécifié. (Substitue Object.Equals(Object).)
Méthode protégéePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetHashCodeRetourne le code de hachage pour l'objet Tuple<T1, T2> en cours. (Substitue Object.GetHashCode().)
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégéePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToStringRetourne une chaîne qui représente la valeur de cette instance Tuple<T1, T2>. (Substitue Object.ToString().)
Début

  NomDescription
Implémentation d'interface expliciteMéthode privéePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIComparable.CompareToCompare l'objet Tuple<T1, T2> actuel à un objet spécifié et retourne un entier qui indique si l'objet actuel précède, suit ou est dans la même position que l'objet spécifié dans l'ordre de tri.
Implémentation d'interface expliciteMéthode privéePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIStructuralComparable.CompareToCompare l'objet Tuple<T1, T2> actif à un objet spécifié à l'aide d'un comparateur spécifié et retourne un entier qui indique si l'objet actif précède, suit ou est dans la même position que l'objet spécifié dans l'ordre de tri.
Implémentation d'interface expliciteMéthode privéePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIStructuralEquatable.EqualsRetourne une valeur qui indique si l'objet Tuple<T1, T2> actuel est égal à un objet spécifié selon une méthode de comparaison spécifiée.
Implémentation d'interface expliciteMéthode privéePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIStructuralEquatable.GetHashCodeCalcule le code de hachage pour l'objet Tuple<T1, T2> actuel à l'aide d'une méthode de calcul spécifiée.
Début

Un tuple est une structure de données qui a un nombre spécifique et une séquence de valeurs. La classe Tuple<T1, T2> représente un 2-tuple, ou paire, qui est un tuple qui a deux composants. Un objet 2 tuples est semblable à une structure KeyValuePair<TKey, TValue>.

Vous pouvez instancier un objet Tuple<T1, T2> en appelant le constructeur Tuple<T1, T2> ou la méthode Tuple.Create<T1, T2>(T1, T2) statique. Vous pouvez récupérer les valeurs des composants du tuple à l'aide des propriétés d'instance Item1 et Item2 en lecture seule.

Les tuples sont utilisés communément de quatre façons différentes :

  • Pour représenter un jeu unique de données. Par exemple, un tuple peut représenter un enregistrement dans une base de données et ses composants peuvent représenter les champs de cet enregistrement.

  • Pour fournir l'accès aisé à un groupe de données et sa manipulation. L'exemple suivant définit un tableau d'objets Tuple<T1, T2> qui contiennent les noms des étudiants et les notes d'examens correspondantes. Il itère alors au sein du tableau pour calculer la note d'examen moyenne.

    
    using System;
    
    public class Example
    {
       public static void Main()
       {
          Tuple<string, Nullable<int>>[] scores = 
                        { new Tuple<string, Nullable<int>>("Jack", 78),
                          new Tuple<string, Nullable<int>>("Abbey", 92), 
                          new Tuple<string, Nullable<int>>("Dave", 88),
                          new Tuple<string, Nullable<int>>("Sam", 91), 
                          new Tuple<string, Nullable<int>>("Ed", null),
                          new Tuple<string, Nullable<int>>("Penelope", 82),
                          new Tuple<string, Nullable<int>>("Linda", 99),
                          new Tuple<string, Nullable<int>>("Judith", 84) };
          int number;
          double mean = ComputeMean(scores, out number);
          Console.WriteLine("Average test score: {0:N2} (n={1})", mean, number);
       }
    
       private static double ComputeMean(Tuple<string, Nullable<int>>[] scores, out int n) 
       {
          n = 0;      
          int sum = 0;
          foreach (var score in scores)
          {
             if (score.Item2.HasValue)
             { 
                n += 1;
                sum += score.Item2.Value;
             }
          }     
          if (n > 0)
             return sum / (double) n;
          else
             return 0;
       }
    }
    // The example displays the following output:
    //       Average test score: 88 (n=7)
    
    
    
  • Pour retourner plusieurs valeurs d'une méthode sans l'utilisation de paramètres de out (en C#) ou paramètres ByRef (en Visual Basic). Par exemple, l'exemple suivant utilise un objet Tuple<T1, T2> pour retourner le quotient et le reste qui résultent d'une division d'entier.

    
    using System;
    
    public class Class1
    {
       public static void Main()
       {
          int dividend, divisor;
          Tuple<int, int> result;
    
          dividend = 136945; divisor = 178;
          result = IntegerDivide(dividend, divisor);
          if (result != null)
             Console.WriteLine(@"{0} \ {1} = {2}, remainder {3}", 
                               dividend, divisor, result.Item1, result.Item2);
          else
             Console.WriteLine(@"{0} \ {1} = <Error>", dividend, divisor);
    
          dividend = Int32.MaxValue; divisor = -2073;
          result = IntegerDivide(dividend, divisor);
          if (result != null)
             Console.WriteLine(@"{0} \ {1} = {2}, remainder {3}", 
                               dividend, divisor, result.Item1, result.Item2);
          else
             Console.WriteLine(@"{0} \ {1} = <Error>", dividend, divisor);
       }
    
       private static Tuple<int, int> IntegerDivide(int dividend, int divisor)
       {
          try {
             int remainder;
             int quotient = Math.DivRem(dividend, divisor, out remainder);
             return new Tuple<int, int>(quotient, remainder);
          }   
          catch (DivideByZeroException) {
             return null;
          }      
       }
    }
    // The example displays the following output:
    //       136945 \ 178 = 769, remainder 63
    //       2147483647 \ -2073 = -1035930, remainder 757
    
    
    
  • Pour passer plusieurs valeurs à une méthode via un paramètre unique. Par exemple, la méthode Thread.Start(Object) a un paramètre unique qui vous permet de fournir une valeur à la méthode que le thread exécute au démarrage. Si vous fournissez un objet Tuple<T1, T2> comme argument de méthode, vous pouvez fournir la routine de démarrage du thread avec deux éléments de données.

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Pris en charge dans : 4

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : 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 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft