Tuple<T1,T2,T3,T4,T5,T6> Třída

Definice

Představuje 6 členů nebo sextuple.

generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
public class Tuple<T1,T2,T3,T4,T5,T6> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
public class Tuple<T1,T2,T3,T4,T5,T6> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
[System.Serializable]
public class Tuple<T1,T2,T3,T4,T5,T6> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6> = class
    interface IStructuralComparable
    interface IStructuralEquatable
    interface IComparable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6> = class
    interface IStructuralComparable
    interface IStructuralEquatable
    interface IComparable
    interface ITuple
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6> = class
    interface IStructuralEquatable
    interface IStructuralComparable
    interface IComparable
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6> = class
    interface IStructuralEquatable
    interface IStructuralComparable
    interface IComparable
    interface ITuple
Public Class Tuple(Of T1, T2, T3, T4, T5, T6)
Implements IComparable, IStructuralComparable, IStructuralEquatable
Public Class Tuple(Of T1, T2, T3, T4, T5, T6)
Implements IComparable, IStructuralComparable, IStructuralEquatable, ITuple

Parametry typu

T1

Typ první součásti řazené kolekce členů.

T2

Typ druhé součásti řazené kolekce členů.

T3

Typ třetí součásti řazené kolekce členů.

T4

Typ čtvrté součásti řazené kolekce členů.

T5

Typ páté součásti řazené kolekce členů.

T6

Typ šesté komponenty řazené kolekce členů.

Dědičnost
Tuple<T1,T2,T3,T4,T5,T6>
Atributy
Implementuje

Poznámky

Řazená kolekce členů je datová struktura, která obsahuje určitý počet a pořadí hodnot. Třída Tuple<T1,T2,T3,T4,T5,T6> představuje 6 členů nebo sextuple, což je řazená kolekce členů, která má šest komponent.

Objekt můžete vytvořit Tuple<T1,T2,T3,T4,T5,T6> tak, že zavoláte statickou Tuple<T1,T2,T3,T4,T5,T6> Tuple.Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6) metodu nebo objekt. Hodnotu komponent řazené kolekce členů můžete načíst pomocí vlastností jen pro Item1čtení , Item2, , Item3, Item4Item5a Item6 instance.

Řazené kolekce členů se obvykle používají čtyřmi různými způsoby:

  • K reprezentaci jediné datové sady. Například řazená kolekce členů může představovat záznam v databázi a její součásti mohou představovat jednotlivá pole záznamu.

  • K zajištění snadného přístupu k datové sadě a manipulace s datovou sadou. Následující příklad definuje Tuple<T1,T2,T3,T4,T5,T6> objekt, který obsahuje základní data pro New York City pro každý sčítání lidu z roku 1960 do roku 2000. Sextuple se předává ComputePopulationChange metodě, která vypočítá roční míru změn mezi sčítáními a roční sazbou změn za celý 50 let.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          // Get population data for New York City, 1960-2000.
          var population = 
               Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278);
          var rate = ComputePopulationChange(population);
          // Display results.
          Console.WriteLine("Population Change, {0}, 1960-2000\n", population.Item1);
          Console.WriteLine("Year      {0,10} {1,9}", "Population", "Annual Rate");
          Console.WriteLine("1960      {0,10:N0} {1,11}", population.Item2, "NA");
          Console.WriteLine("1970      {0,10:N0} {1,11:P2}", population.Item3, rate.Item2/10);
          Console.WriteLine("1980      {0,10:N0} {1,11:P2}", population.Item4, rate.Item3/10);
          Console.WriteLine("1990      {0,10:N0} {1,11:P2}", population.Item5, rate.Item4/10);
          Console.WriteLine("2000      {0,10:N0} {1,11:P2}", population.Item6, rate.Item5/10);
          Console.WriteLine("1960-2000 {0,10:N0} {1,11:P2}", "", rate.Item6/50);
       }
    
       private static Tuple<string, double, double, double, double, double> ComputePopulationChange(
               Tuple<string, int, int, int, int, int> data)  
       {           
          var rate = Tuple.Create(data.Item1, 
                                  (double)(data.Item3 - data.Item2)/data.Item2, 
                                  (double)(data.Item4 - data.Item3)/data.Item3, 
                                  (double)(data.Item5 - data.Item4)/data.Item4, 
                                  (double)(data.Item6 - data.Item5)/data.Item5,
                                  (double)(data.Item6 - data.Item2)/data.Item2 );
          return rate;
       }           
    }
    // The example displays the following output:
    //       Population Change, New York, 1960-2000
    //       
    //       Year      Population Annual Rate
    //       1960       7,781,984          NA
    //       1970       7,894,862      0.15 %
    //       1980       7,071,639     -1.04 %
    //       1990       7,322,564      0.35 %
    //       2000       8,008,278      0.94 %
    //       1960-2000                 0.06 %
    
    open System
    
    let computePopulationChange (data: Tuple<string, int, int, int, int, int>) =  
        Tuple.Create(data.Item1, 
                     double ((data.Item3 - data.Item2) / data.Item2), 
                     double ((data.Item4 - data.Item3) / data.Item3), 
                     double ((data.Item5 - data.Item4) / data.Item4), 
                     double ((data.Item6 - data.Item5) / data.Item5),
                     double ((data.Item6 - data.Item2) / data.Item2))
    
    // Get population data for New York City, 1960-2000.
    let population = 
          Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278)
    let rate = computePopulationChange population
    // Display results.
    printfn $"Population Change, {population.Item1}, 1960-2000\n"
    printfn $"""Year      {"Population",10} {"Annual Rate",9}"""
    printfn $"""1960      {population.Item2,10:N0} {"NA",11}"""
    printfn $"1970      {population.Item3,10:N0} {rate.Item2 / 10.,11:P2}"
    printfn $"1980      {population.Item4,10:N0} {rate.Item3 / 10.,11:P2}"
    printfn $"1990      {population.Item5,10:N0} {rate.Item4 / 10.,11:P2}"
    printfn $"2000      {population.Item6,10:N0} {rate.Item5 / 10.,11:P2}"
    printfn $"""1960-2000 {"",10:N0} {rate.Item6 / 50.,11:P2}"""
    
    // The example displays the following output:
    //       Population Change, New York, 1960-2000
    //       
    //       Year      Population Annual Rate
    //       1960       7,781,984          NA
    //       1970       7,894,862      0.15 %
    //       1980       7,071,639     -1.04 %
    //       1990       7,322,564      0.35 %
    //       2000       8,008,278      0.94 %
    //       1960-2000                 0.06 %
    
    Module Example
       Public Sub Main()
          ' Get population data for New York City, 1960-2000.
          Dim population = Tuple.Create(
                         "New York", 7781984, 7894862, 7071639, 7322564, 8008278)
          Dim rate = ComputePopulationChange(population)      
          ' Display results.
          Console.WriteLine("Population Change, {0}, 1960-2000", population.Item1)
          Console.WriteLine()
          Console.WriteLine("Year      {0,10} {1,9}", "Population", "Annual Rate")
          Console.WriteLine("1960      {0,10:N0} {1,11}", population.Item2, "NA")
          Console.WriteLine("1970      {0,10:N0} {1,11:P2}", population.Item3, rate.Item2/10)
          Console.WriteLine("1980      {0,10:N0} {1,11:P2}", population.Item4, rate.Item3/10)
          Console.WriteLine("1990      {0,10:N0} {1,11:P2}", population.Item5, rate.Item4/10)
          Console.WriteLine("2000      {0,10:N0} {1,11:P2}", population.Item6, rate.Item5/10)
          Console.WriteLine("1960-2000 {0,10:N0} {1,11:P2}", "", rate.Item6/50)
       End Sub
       
          ' Compute rate of population change by decade and overall.
       Private Function ComputePopulationChange(data As Tuple(Of String, Integer, Integer, Integer, Integer, Integer)) _ 
               As Tuple(Of String, Double, Double, Double, Double, Double)
          Dim rate = Tuple.Create(data.Item1, 
                                  (data.Item3 - data.Item2)/data.Item2, 
                                  (data.Item4 - data.Item3)/data.Item3, 
                                  (data.Item5 - data.Item4)/data.Item4, 
                                  (data.Item6 - data.Item5)/data.Item5,
                                  (data.Item6 - data.Item2)/data.Item2 )
          Return rate
       End Function           
    End Module
    ' The example displays the following output:
    '       Population Change, New York, 1960-2000
    '       
    '       Year      Population Annual Rate
    '       1960       7,781,984          NA
    '       1970       7,894,862      0.15 %
    '       1980       7,071,639     -1.04 %
    '       1990       7,322,564      0.35 %
    '       2000       8,008,278      0.94 %
    '       1960-2000                 0.06 %
    
  • Pokud chcete vrátit více hodnot z metody bez použití out parametrů (v jazyce C#) nebo ByRef parametrů (v Visual Basic). Například předchozí příklad vrátí vypočítané statistiky spolu s názvem města v objektu Tuple<T1,T2,T3,T4,T5,T6> .

  • Pro předání více hodnot metodě prostřednictvím jediného parametru. Thread.Start(Object) Například metoda má jeden parametr, který umožňuje zadat jednu hodnotu metodě, kterou vlákno spouští při spuštění. Pokud jako argument metody zadáte Tuple<T1,T2,T3,T4,T5,T6> objekt, můžete zadat rutinu spuštění vlákna se šesti položkami dat.

Konstruktory

Tuple<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6)

Inicializuje novou instanci Tuple<T1,T2,T3,T4,T5,T6> třídy.

Vlastnosti

Item1

Získá hodnotu první komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6> objektu.

Item2

Získá hodnotu druhé komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6> objektu.

Item3

Získá hodnotu třetí komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6> objektu.

Item4

Získá hodnotu čtvrté komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6> objektu.

Item5

Získá hodnotu páté komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6> objektu.

Item6

Získá hodnotu šesté komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6> objektu.

Metody

Equals(Object)

Vrátí hodnotu, která označuje, zda je aktuální Tuple<T1,T2,T3,T4,T5,T6> objekt roven zadanému objektu.

GetHashCode()

Vrátí kód hash aktuálního objektu Tuple<T1,T2,T3,T4,T5,T6> .

GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje hodnotu této Tuple<T1,T2,T3,T4,T5,T6> instance.

Explicitní implementace rozhraní

IComparable.CompareTo(Object)

Porovná aktuální Tuple<T1,T2,T3,T4,T5,T6> objekt se zadaným objektem a vrátí celé číslo, které označuje, zda je aktuální objekt před, za nebo ve stejné pozici jako zadaný objekt v pořadí řazení.

IStructuralComparable.CompareTo(Object, IComparer)

Porovná aktuální Tuple<T1,T2,T3,T4,T5,T6> objekt s zadaným objektem pomocí zadaného porovnávače a vrátí celé číslo, které označuje, zda je aktuální objekt před, za nebo ve stejné pozici jako zadaný objekt v pořadí řazení.

IStructuralEquatable.Equals(Object, IEqualityComparer)

Vrátí hodnotu, která označuje, zda je aktuální Tuple<T1,T2,T3,T4,T5,T6> objekt roven zadanému objektu na základě zadané metody porovnání.

IStructuralEquatable.GetHashCode(IEqualityComparer)

Vypočítá kód hash aktuálního Tuple<T1,T2,T3,T4,T5,T6> objektu pomocí zadané výpočetní metody.

ITuple.Item[Int32]

Získá hodnotu zadaného Tuple prvku.

ITuple.Length

Získá počet prvků v sadě Tuple.

Metody rozšíření

Deconstruct<T1,T2,T3,T4,T5,T6>(Tuple<T1,T2,T3,T4,T5,T6>, T1, T2, T3, T4, T5, T6)

Dekonstruuje řazenou kolekci členů se 6 prvky do samostatných proměnných.

ToValueTuple<T1,T2,T3,T4,T5,T6>(Tuple<T1,T2,T3,T4,T5,T6>)

Převede instanci Tuple třídy na instanci ValueTuple struktury.

Platí pro

Viz také