Tuple<T1,T2,T3,T4,T5> Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un tuple de 5 tuples ou un quintuple.
generic <typename T1, typename T2, typename T3, typename T4, typename T5>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
generic <typename T1, typename T2, typename T3, typename T4, typename T5>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
public class Tuple<T1,T2,T3,T4,T5> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
[System.Serializable]
public class Tuple<T1,T2,T3,T4,T5> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
public class Tuple<T1,T2,T3,T4,T5> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
interface ITuple
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
interface ITuple
Public Class Tuple(Of T1, T2, T3, T4, T5)
Implements IComparable, IStructuralComparable, IStructuralEquatable
Public Class Tuple(Of T1, T2, T3, T4, T5)
Implements IComparable, IStructuralComparable, IStructuralEquatable, ITuple
Paramètres de type
- T1
Type du premier composant du tuple.
- T2
Type du deuxième composant du tuple.
- T3
Type du troisième composant du tuple.
- T4
Type du quatrième composant du tuple.
- T5
Type du cinquième composant du tuple.
- Héritage
-
Tuple<T1,T2,T3,T4,T5>
- Attributs
- Implémente
Remarques
Un tuple est une structure de données qui a un nombre et une séquence spécifiques de valeurs. La Tuple<T1,T2,T3,T4,T5> classe représente un tuple de 5 tuples ou un quintuple, qui est un tuple qui a cinq composants.
Vous pouvez instancier un Tuple<T1,T2,T3,T4,T5> objet en appelant le Tuple<T1,T2,T3,T4,T5> constructeur ou la méthode statique Tuple.Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5) . Vous pouvez récupérer la valeur des composants du tuple à l’aide des propriétés en lecture seuleItem1, , Item2, Item3Item4et Item5 des propriétés d’instance.
Les tuples sont couramment utilisés de quatre façons différentes :
Pour représenter un ensemble unique de données. Par exemple, un tuple peut représenter un enregistrement de base de données et ses composants peuvent représenter des champs individuels de l’enregistrement.
Pour faciliter l’accès et la manipulation d’un jeu de données. L’exemple suivant définit un tableau d’objets Tuple<T1,T2,T3,T4,T5> qui contiennent les noms des retours en arrière dans le football américain, le nombre de jeux dans lesquels ils ont joué, et le nombre de porteurs, les cours totales gagnées et les touchdowns marqués pendant ces jeux. Le tableau est passé à la
ComputeStatisticsméthode, qui calcule le nombre de retours en cours d’exécution par jeu, les yards moyens par jeu, les yards moyens par transport et le nombre moyen de touchdowns par tentative.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.035open System let computeStatistics (players: Tuple<string, int, int, int, int>[]) = [| for player in players do // Create result object containing player name and statistics. Tuple.Create(player.Item1, double player.Item3 / double player.Item2, double player.Item4 / double player.Item2, double player.Item4 / double player.Item3, double player.Item5 / double player.Item3) |] // 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 let 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 let runningStats = computeStatistics runningBacks // Display the result. printfn "%-16s %5s %6s %7s %7s %7s %7s %5s %7s\n" "Name" "Games" "Att" "Att/Gm" "Yards" "Yds/Gm" "Yds/Att" "TD" "TD/Att" for i = 0 to runningBacks.Length - 1 do printfn $"{runningBacks[i].Item1,-16} {runningBacks[i].Item2,5} {runningBacks[i].Item3,6:N0} {runningBacks[i].Item2,7:N1} {runningBacks[i].Item4,7:N0} {runningBacks[i].Item3,7:N1} {runningBacks[i].Item4,7:N2} {runningBacks[i].Item5,5} {runningBacks[i].Item5,7:N3}\n" // 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.035Imports System.Collections.Generic Module Example Public Sub 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 Dim 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 Dim 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}", "Name", "Games", "Att", "Att/Gm", "Yards", "Yds/Gm", "Yds/Att", "TD", "TD/Att") Console.WriteLine() For ctr As Integer = 0 To runningBacks.Length - 1 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}", 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) Console.WriteLine() Next End Sub Private Function ComputeStatistics(players() As Tuple(Of String, Integer, Integer, Integer, Integer)) _ As Tuple(Of String, Double, Double, Double, Double)() Dim result As Tuple(Of String, Double, Double, Double, Double) Dim list As New List(Of Tuple(Of String, Double, Double, Double, Double))() For Each player In players ' Create result object containing player name and statistics. result = Tuple.Create(player.Item1, player.Item3/player.Item2, player.Item4/player.Item2, player.Item4/player.Item3, player.Item5/player.Item3) list.Add(result) Next Return list.ToArray() End Function End Module ' 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.035Pour retourner plusieurs valeurs d’une méthode sans utiliser de
outparamètres (en C#) ouByRefde paramètres (en Visual Basic). Par exemple, l’exemple précédent retourne ses statistiques calculées, ainsi que le nom du lecteur, dans un tableau d’objets Tuple<T1,T2,T3,T4,T5> .Pour passer plusieurs valeurs à une méthode via un seul paramètre. Par exemple, la Thread.Start(Object) méthode a un paramètre unique qui vous permet de fournir une valeur à la méthode que le thread s’exécute au démarrage. Si vous fournissez un Tuple<T1,T2,T3,T4,T5> objet comme argument de méthode, vous pouvez fournir la routine de démarrage du thread avec cinq éléments de données.
Constructeurs
| Nom | Description |
|---|---|
| Tuple<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5) |
Initialise une nouvelle instance de la classe Tuple<T1,T2,T3,T4,T5>. |
Propriétés
| Nom | Description |
|---|---|
| Item1 |
Obtient la valeur du premier composant de l’objet actuel Tuple<T1,T2,T3,T4,T5> . |
| Item2 |
Obtient la valeur du deuxième composant de l’objet actuel Tuple<T1,T2,T3,T4,T5> . |
| Item3 |
Obtient la valeur du troisième composant de l’objet actuel Tuple<T1,T2,T3,T4,T5> . |
| Item4 |
Obtient la valeur du quatrième composant de l’objet actuel Tuple<T1,T2,T3,T4,T5> . |
| Item5 |
Obtient la valeur du cinquième composant de l’objet actuel Tuple<T1,T2,T3,T4,T5> . |
Méthodes
| Nom | Description |
|---|---|
| Equals(Object) |
Retourne une valeur qui indique si l’objet actuel Tuple<T1,T2,T3,T4,T5> est égal à un objet spécifié. |
| GetHashCode() |
Retourne le code de hachage de l’objet actif Tuple<T1,T2,T3,T4,T5> . |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente la valeur de cette Tuple<T1,T2,T3,T4,T5> instance. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IComparable.CompareTo(Object) |
Compare l’objet actuel Tuple<T1,T2,T3,T4,T5> à un objet spécifié et retourne un entier qui indique si l’objet actuel est avant, après ou dans la même position que l’objet spécifié dans l’ordre de tri. |
| IStructuralComparable.CompareTo(Object, IComparer) |
Compare l’objet actuel Tuple<T1,T2,T3,T4,T5> à un objet spécifié à l’aide d’un comparateur spécifié et retourne un entier qui indique si l’objet actif est avant, après ou dans la même position que l’objet spécifié dans l’ordre de tri. |
| IStructuralEquatable.Equals(Object, IEqualityComparer) |
Retourne une valeur qui indique si l’objet actuel Tuple<T1,T2,T3,T4,T5> est égal à un objet spécifié en fonction d’une méthode de comparaison spécifiée. |
| IStructuralEquatable.GetHashCode(IEqualityComparer) |
Calcule le code de hachage de l’objet actuel Tuple<T1,T2,T3,T4,T5> à l’aide d’une méthode de calcul spécifiée. |
| ITuple.Item[Int32] |
Obtient la valeur de l’élément spécifié |
| ITuple.Length |
Obtient le nombre d’éléments dans le |
Méthodes d’extension
| Nom | Description |
|---|---|
| Deconstruct<T1,T2,T3,T4,T5>(Tuple<T1,T2,T3,T4,T5>, T1, T2, T3, T4, T5) |
Déconstructe un tuple avec 5 éléments en variables distinctes. |
| ToValueTuple<T1,T2,T3,T4,T5>(Tuple<T1,T2,T3,T4,T5>) |
Convertit une instance de la |