Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje n-řazenou kolekci členů, kde n je 8 nebo vyšší.
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
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::Runtime::CompilerServices::ITuple
public class Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
public class Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
[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 IStructuralComparable
interface IStructuralEquatable
interface IComparable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
interface ITuple
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
interface ITuple
Public Class Tuple(Of T1, T2, T3, T4, T5, T6, T7, TRest)
Implements IComparable, IStructuralComparable, IStructuralEquatable
Public Class Tuple(Of T1, T2, T3, T4, T5, T6, T7, TRest)
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ů.
- T7
Typ sedmé komponenty řazené kolekce členů.
- TRest
Jakýkoli obecný Tuple
objekt, který definuje typy zbývajících komponent řazené kolekce členů.
- 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. Třída Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> představuje n-řazenou kolekci členů, která má osm nebo více komponent.
Objekt můžete vytvořit Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> instanci s přesně osmi komponentami voláním statické Tuple.Create metody. Následující příklad vytvoří 8 řazenou kolekci členů (octuple), která obsahuje základní čísla, která jsou menší než 20. Všimněte si, že používá odvozování typů k určení typu jednotlivých komponent.
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
open System
let primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19)
printfn $"Prime numbers less than 20: {primes.Item1}, {primes.Item2}, {primes.Item3}, {primes.Item4}, {primes.Item5}, {primes.Item6}, {primes.Item7}, and {primes.Rest.Item1}"
// 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 objektu n-řazené kolekce členů s osmi nebo více komponent voláním konstruktoru Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . 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í řazené kolekci členů vytvořené v předchozím příkladu.
var primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19));
let 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-řazenou kolekci členů s devíti nebo více komponentami, je nutné volat Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktor. Statické metody objektu Tuple třídy nepodporují vytváření Tuple
objektů s více než osmi komponentami.
Pokud chcete vytvořit instanci n-řazené kolekce členů, která má osm nebo více komponent s Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktorem, zadáte obecný Tuple
objekt jako rest
parametr pro definování osmých až nth komponent řazené kolekce členů. 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 součástí.
Následující příklad vytvoří 17 řazenou kolekci členů, která obsahuje data o populaci města Detroit, Michigan, pro každý národní sčítání lidu od 1860 do roku 2000. První komponenta řazené kolekce členů je název města. Druhá komponenta je počáteční datum datové řady a třetí komponenta je základní soubor v počátečním datu. Každá další komponenta poskytuje populaci v desetiletích. Kolekce členů 17 se vytvoří vnořením Tuple<T1,T2,T3> objektu uvnitř objektu Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . (To znamená, že Tuple<T1,T2,T3> objekt je zadán jako hodnota rest
parametru v konstruktoru Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 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. (To znamená, že Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objekt je zadán jako hodnota parametru rest
v konstruktoru třídy vnějšího Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu.)
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);
let from1980 = Tuple.Create(1203339, 1027974, 951270)
let from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>(465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
let 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í vlastností jen pro Item1čtení , , Item2, Item3, Item4Item5, Item6a Item7 vlastností instance. Všechny další komponenty jsou vnořené a lze je načíst z Rest vlastnosti. V předchozím příkladu načte Item1 vlastnosti prostřednictvím Item7 první až sedmé součásti kolekce členů. Osmé až čtrnácté komponenty jsou obsaženy v řazené kolekci členů na druhé úrovni a jsou reprezentovány vlastnostmi Rest.Item1
prostřednictvím Rest.Item7
. Patnácté až sedmnácté komponenty jsou obsaženy v řazené kolekci členů na třetí úrovni a jsou reprezentovány vlastnostmiRest.Rest.Item1
.Rest.Rest.Item3
Ř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.
Pokud chcete vrátit více hodnot z metody bez použití
out
parametrů (v jazyce C#) neboByRef
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,T7> .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 zadáte Tuple<T1,T2,T3,T4,T5,T6,T7> objekt jako argument metody, můžete zadat rutinu spuštění vlákna se sedmi položkami dat.
Konstruktory
Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>(T1, T2, T3, T4, T5, T6, T7, TRest) |
Inicializuje novou instanci Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> třídy. |
Vlastnosti
Item1 |
Získá hodnotu první komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu. |
Item2 |
Získá hodnotu druhé komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu. |
Item3 |
Získá hodnotu třetí komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu. |
Item4 |
Získá hodnotu čtvrté komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu. |
Item5 |
Získá hodnotu páté komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu. |
Item6 |
Získá hodnotu šesté komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu. |
Item7 |
Získá hodnotu sedmé komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu. |
Rest |
Získá zbývající komponenty aktuálního Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objektu. |
Metody
Equals(Object) |
Vrátí hodnotu, která označuje, zda je aktuální Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objekt roven zadanému objektu. |
GetHashCode() |
Vypočítá kód hash aktuálního objektu Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . |
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,T7,TRest> instance. |
Explicitní implementace rozhraní
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í. |
IStructuralComparable.CompareTo(Object, IComparer) |
Porovná aktuální Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 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,T7,TRest> 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,T7,TRest> objektu pomocí zadané výpočetní metody. |
ITuple.Item[Int32] |
Získá hodnotu zadaného |
ITuple.Length |
Získá počet prvků v sadě |