Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Class

Definice

Představuje n-tice, kde n je 8 nebo vyšší.Represents an n-tuple, where n is 8 or greater.

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

Parametry typu

T1

Typ první součásti řazené kolekce členů.The type of the tuple's first component.

T2

Typ druhé součásti řazené kolekce členů.The type of the tuple's second component.

T3

Typ třetí součásti řazené kolekce členů.The type of the tuple's third component.

T4

Typ čtvrté součásti řazené kolekce členů.The type of the tuple's fourth component.

T5

Typ páté součásti řazené kolekce členů.The type of the tuple's fifth component.

T6

Typ šesté součásti řazené kolekce členů.The type of the tuple's sixth component.

T7

Typ sedmé součásti řazené kolekce členů.The type of the tuple's seventh component.

TRest

Libovolný obecný Tuple objekt definující typy zbývajících součástí řazené kolekce členů.Any generic Tuple object that defines the types of the tuple's remaining components.

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

Poznámky

Řazená kolekce členů je datová struktura, která obsahuje určitý počet a pořadí hodnot.A tuple is a data structure that has a specific number and sequence of values. Třída představuje n-tice, které mají osm nebo více komponent. ** Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>The Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> class represents an n-tuple that has eight or more components.

Můžete vytvořit instanci Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu se přesně osmi komponentami voláním statické Tuple.Create metody.You can instantiate a Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object with exactly eight components by calling the static Tuple.Create method. Následující příklad vytvoří 8-Tuple (octuple) obsahující prvočísla, která jsou menší než 20.The following example creates an 8-tuple (octuple) that contains prime numbers that are less than 20. Všimněte si, že používá odvození typu k určení typu každé součásti.Note that it uses type inference to determine the type of each component.

var primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19);
Console.WriteLine("Prime numbers less than 20: " + 
                  "{0}, {1}, {2}, {3}, {4}, {5}, {6}, and {7}",
                  primes.Item1, primes.Item2, primes.Item3, 
                  primes.Item4, primes.Item5, primes.Item6,
                  primes.Item7, primes.Rest.Item1);
// The example displays the following output:
//    Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19
Dim primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19)
Console.WriteLine("Prime numbers less than 20: " + 
                  "{0}, {1}, {2}, {3}, {4}, {5}, {6}, and {7}",
                  primes.Item1, primes.Item2, primes.Item3, 
                  primes.Item4, primes.Item5, primes.Item6,
                  primes.Item7, primes.Rest.Item1)
' The example displays the following output:
'     Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19

Můžete také vytvořit instanci n-tice objektu s osmi nebo více komponentami voláním Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktoru.You can also instantiate an n-tuple object with eight or more components by calling the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor. Následující příklad používá Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktor k vytvoření 8-řazené kolekce členů, který je ekvivalentní k řazené kolekci členů vytvořené v předchozím příkladu.The following example uses the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor to create an 8-tuple that is equivalent to the tuple created in the previous example.

var primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,  
             Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19));
Dim primes = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, _ 
             Tuple(Of Int32))(2, 3, 5, 7, 11, 13, 17, New Tuple(Of Int32)(19))

Poznámka

Chcete-li vytvořit n-tice s devíti nebo více komponentami, je nutné Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> volat konstruktor.To create an n-tuple with nine or more components, you must call the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor. Statické metody Tuple výroby třídy nepodporují Tuple vytváření objektů s více než osmi součástmi.The static factory methods of the Tuple class do not support the creation of Tuple objects with more than eight components.

Chcete-li vytvořit instanci n-tice s osmi nebo více komponentami s Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktorem, zadejte obecný Tuple objekt jako rest parametr pro definování osmá až nth komponent řazené kolekce členů.To instantiate an n-tuple that has eight or more components with the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor, you supply a generic Tuple object as the rest parameter to define the eighth through nth components of the tuple. Vnořením obecných Tuple objektů tímto způsobem můžete vytvořit řazenou kolekci členů, která nemá žádné praktické omezení počtu jeho komponent.By nesting generic Tuple objects in this way, you can create a tuple that has no practical limitation on the number of its components.

Následující příklad vytvoří 17 – Tuple, který obsahuje data populace města Detroit, Michigan pro každé národní sčítání od 1860 do 2000.The following example creates a 17-tuple that contains population data for the city of Detroit, Michigan, for each national census from 1860 to 2000. První součástí řazené kolekce členů je název města.The first component of the tuple is the city name. Druhá součást je počáteční datum datové řady a třetí komponenta je populace v počátečním datu.The second component is the start date of the data series, and the third component is the population at the start date. Každá následná součást poskytuje obyvatele v desetiletí intervalů.Each subsequent component provides the population at decade intervals. 17 – řazená kolekce členů je vytvořena vnořením Tuple<T1,T2,T3> objektu Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> uvnitř objektu.The 17-tuple is created by nesting a Tuple<T1,T2,T3> object inside a Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object. (To znamená, Tuple<T1,T2,T3> že objekt je dodán jako hodnota rest parametru v Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktoru třídy.) Tento Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objekt je zase vnořený do vnějšího Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu.(That is, the Tuple<T1,T2,T3> object is supplied as the value of the rest parameter in the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> class constructor.) This Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object is, in turn, nested in an outer Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object. (To znamená, Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> že objekt je dodán jako hodnota rest parametru v konstruktoru třídy vnějšího Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu.)(That is, the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object is supplied as the value of the rest parameter in the outer Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's class constructor.)

var from1980 = Tuple.Create(1203339, 1027974, 951270);
var from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>> 
    (465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980);
var population = new Tuple<string, int, int, int, int, int, int,
    Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>> 
    ("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910);
Dim from1980 = Tuple.Create(1203339, 1027974, 951270)
Dim from1910 As New Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, _
    Tuple(Of Integer, Integer, Integer)) _
    (465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
Dim population As New Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer, _ 
    Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, Tuple(Of Integer, Integer, Integer))) _
    ("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910)

Hodnotu prvních sedmi komponent řazené kolekce členů můžete Item1načíst pomocí vlastností instance jen pro čtení, Item2, Item6 Item5 Item3 Item4,,,, a Item7 .You can retrieve the value of the tuple's first seven components by using the read-only Item1, Item2, Item3, Item4, Item5, Item6, and Item7 instance properties. Všechny další komponenty jsou vnořené a je možné je načíst z Rest vlastnosti.Any additional components are nested and can be retrieved from the Rest property. V předchozím příkladu Item1 vlastnosti through Item7 načítají první až sedm součástí řazené kolekce členů.In the previous example, the Item1 through Item7 properties retrieve the first through seventh components of the tuple. Komponenty osmá až čtrnáctý jsou obsaženy v řazené kolekci členů, která je vnořená na druhou úroveň a jsou Rest.Item1 reprezentovány Rest.Item7 prostřednictvím vlastností.The eighth through fourteenth components are contained in the tuple that is nested at the second level, and are represented by the Rest.Item1 through Rest.Item7 properties. Patnáct až Seventeenth komponenty jsou obsaženy v řazené kolekci členů vnořené na třetí úrovni a jsou reprezentovány pomocí Rest.Rest.Item1 vlastností by. Rest.Rest.Item3The fifteenth through seventeenth components are contained in the tuple that is nested at the third level, and are represented by the Rest.Rest.Item1 though Rest.Rest.Item3 properties.

Řazené kolekce členů se obvykle používají čtyřmi různými způsoby:Tuples are commonly used in four different ways:

  • K reprezentaci jediné datové sady.To represent a single set of data. 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.For example, a tuple can represent a database record, and its components can represent individual fields of the record.

  • K zajištění snadného přístupu k datové sadě a manipulace s datovou sadou.To provide easy access to, and manipulation of, a data set.

  • Chcete-li vrátit více hodnot z metody bez použití out parametrů (v C#) nebo ByRef parametrů (v Visual Basic).To return multiple values from a method without the use of out parameters (in C#) or ByRef parameters (in Visual Basic). Například předchozí příklad vrátí jeho vypočtené statistiky spolu s názvem města v Tuple<T1,T2,T3,T4,T5,T6,T7> objektu.For example, the previous example returns its computed statistics, along with the city name, in a Tuple<T1,T2,T3,T4,T5,T6,T7> object.

  • Pro předání více hodnot metodě prostřednictvím jediného parametru.To pass multiple values to a method through a single parameter. Například Thread.Start(Object) metoda má jeden parametr, který umožňuje zadání jedné hodnoty metodě, kterou vlákno provádí při spuštění.For example, the Thread.Start(Object) method has a single parameter that lets you supply one value to the method that the thread executes at startup. Pokud zadáte Tuple<T1,T2,T3,T4,T5,T6,T7> objekt jako argument metody, můžete do spouštěcí rutiny vlákna dodat sedm položek dat.If you supply a Tuple<T1,T2,T3,T4,T5,T6,T7> object as the method argument, you can supply the thread's startup routine with seven items of data.

Konstruktory

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

Inicializuje novou instanci třídy Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> třídy.Initializes a new instance of the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> class.

Vlastnosti

Item1 Item1 Item1 Item1

Získá hodnotu první součásti aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's first component.

Item2 Item2 Item2 Item2

Získá hodnotu druhé komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's second component.

Item3 Item3 Item3 Item3

Získá hodnotu třetí součásti aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's third component.

Item4 Item4 Item4 Item4

Získá hodnotu čtvrté součásti aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's fourth component.

Item5 Item5 Item5 Item5

Získá hodnotu páté součásti aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's fifth component.

Item6 Item6 Item6 Item6

Získá hodnotu šesté součásti aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's sixth component.

Item7 Item7 Item7 Item7

Získá hodnotu sedmé součásti aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's seventh component.

Rest Rest Rest Rest

Získá zbývající součásti Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> aktuálního objektu.Gets the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's remaining components.

Metody

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Vrátí hodnotu, která označuje, zda je Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> aktuální objekt roven zadanému objektu.Returns a value that indicates whether the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object is equal to a specified object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Vypočítá hodnotu hash pro aktuální Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objekt.Calculates the hash code for the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object.

GetType() GetType() GetType() GetType()

Type Získá aktuální instanci.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Vytvoří kopii aktuálního Objectseznamu.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Vrátí řetězec, který představuje hodnotu této Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> instance.Returns a string that represents the value of this Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> instance.

Explicitní implementace rozhraní

IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object)

Porovná aktuální Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 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í.Compares the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order.

IStructuralComparable.CompareTo(Object, IComparer) IStructuralComparable.CompareTo(Object, IComparer) IStructuralComparable.CompareTo(Object, IComparer) IStructuralComparable.CompareTo(Object, IComparer)

Porovná aktuální Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objekt se zadaným objektem pomocí zadané porovnávací metody a vrátí celé číslo, které označuje, zda je aktuální objekt před, za nebo na stejné pozici jako zadaný objekt v pořadí řazení.Compares the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order.

IStructuralEquatable.Equals(Object, IEqualityComparer) IStructuralEquatable.Equals(Object, IEqualityComparer) IStructuralEquatable.Equals(Object, IEqualityComparer) IStructuralEquatable.Equals(Object, IEqualityComparer)

Vrátí hodnotu, která označuje, zda je Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> aktuální objekt roven zadanému objektu na základě zadané metody porovnání.Returns a value that indicates whether the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object is equal to a specified object based on a specified comparison method.

IStructuralEquatable.GetHashCode(IEqualityComparer) IStructuralEquatable.GetHashCode(IEqualityComparer) IStructuralEquatable.GetHashCode(IEqualityComparer) IStructuralEquatable.GetHashCode(IEqualityComparer)

Vypočítá hodnotu hash pro aktuální Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objekt pomocí zadané metody výpočtu.Calculates the hash code for the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object by using a specified computation method.

ITuple.Item[Int32] ITuple.Item[Int32] ITuple.Item[Int32] ITuple.Item[Int32]

Získá hodnotu zadaného Tuple elementu.Gets the value of the specified Tuple element.

ITuple.Length ITuple.Length ITuple.Length ITuple.Length

Získá počet prvků v Tuple.Gets the number of elements in the Tuple.

Platí pro

Viz také