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

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

Jakýkoli obecný objekt Tuple 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>
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 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> představuje n-řazenou kolekci členů s osmi nebo více komponentami.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 objektu Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> s 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 konstruktoru Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.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á konstruktor Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 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é volat konstruktor Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.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 factory třídy Tuple nepodporují vytváření objektů Tuple 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, která má osm nebo více komponent s konstruktorem Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>, zadejte obecný objekt Tuple jako parametr rest pro definování osmého 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 objektu Tuple<T1,T2,T3> do objektu Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.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á, že objekt Tuple<T1,T2,T3> je dodán jako hodnota parametru rest v konstruktoru třídy Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.) Tento objekt Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> je následně vnořen do vnějšího objektu Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.(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> objekt je dodán jako hodnota parametru rest 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 načíst pomocí Item1, Item2, Item3, Item4, Item5, Item6a vlastností instance 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 vlastnosti Rest.Any additional components are nested and can be retrieved from the Rest property. V předchozím příkladu Item1 do Item7 vlastnosti načítají první až sedm komponent ř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ů vnořené na druhé úrovni a jsou reprezentovány Rest.Item1 prostřednictvím Rest.Item7 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 Rest.Rest.Item1, i když Rest.Rest.Item3 vlastnosti.The 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í parametrů out (in C#) nebo parametrů ByRef (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ý statistiku spolu s názvem města v objektu Tuple<T1,T2,T3,T4,T5,T6,T7>.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 metoda Thread.Start(Object) 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 jako argument metody zadáte objekt Tuple<T1,T2,T3,T4,T5,T6,T7>, 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)

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

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

Item2

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

Item3

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

Item4

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

Item5

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

Item6

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

Item7

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

Rest

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

Metody

Equals(Object)

Vrátí hodnotu, která označuje, zda je aktuální objekt Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 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()

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

GetType()

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

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

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

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

Vrátí řetězec, který představuje hodnotu této instance Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.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)

Porovná aktuální objekt Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> se zadaným objektem 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 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)

Porovná aktuální objekt Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> k určitému objektu 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)

Vrací hodnotu, která označuje, zda je aktuální objekt Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 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)

Vypočítá hodnotu hash pro aktuální objekt Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 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]

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

ITuple.Length

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

Platí pro

Viz také