ValueTuple Struktura

Definice

Poskytuje statické metody pro vytváření n-tice hodnot.Provides static methods for creating value tuples.

public value class ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
[System.Serializable]
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
type ValueTuple = struct
    interface ITuple
Public Structure ValueTuple
Implements IComparable, IComparable(Of ValueTuple), IEquatable(Of ValueTuple), IStructuralComparable, IStructuralEquatable, ITuple
Dědičnost
ValueTuple
Atributy
Implementuje

Poznámky

Řazená kolekce členů je datová struktura, která má konkrétní číslo a sekvenci prvků.A tuple is a data structure that has a specific number and sequence of elements. Příkladem řazené kolekce členů je datová struktura se třemi prvky (označované jako 3-Tuple nebo trojité), která se používá k uložení identifikátoru, jako je například jméno osoby v prvním prvku, rok v druhém prvku a příjem osoby za tento rok v třetím prvku.An example of a tuple is a data structure with three elements (known as a 3-tuple or triple) that is used to store an identifier such as a person's name in the first element, a year in the second element, and the person's income for that year in the third element.

Řazené kolekce členů jsou typy řazené kolekce členů, které jsou představeny v Rozhraní .NET framework 4.7.NET Framework 4.7 k poskytnutí běhové implementace řazených kolekcí členů v C# a strukturování řazených kolekcí F#členů vValue tuples are tuple types introduced in the Rozhraní .NET framework 4.7.NET Framework 4.7 to provide the runtime implementation of tuples in C# and struct tuples in F#. Liší se od tříd řazené kolekce členů, jako je například Tuple<T1>, Tuple<T1,T2> atd., jak je znázorněno níže:They differ from the tuple classes, such as Tuple<T1>, Tuple<T1,T2>, etc., as follows:

  • Jsou to struktury (typy hodnot) místo tříd (odkazové typy).They are structures (value types) rather than classes (reference types).

  • Jsou měnitelné místo jen pro čtení.They are mutable rather than read-only. To znamená, že hodnota komponent řazené kolekce členů může být změněna.That is, the value of tuple components can change.

  • Jejich datové členy, například Item1, Item2 atd., jsou pole, nikoli vlastnosti.Their data members, such as Item1, Item2, etc., are fields rather than properties.

Struktura ValueTuple představuje řazenou kolekci členů, která nemá žádné prvky.The ValueTuple structure represents a tuple that has no elements. Je užitečná hlavně pro své statické metody, které umožňují vytvořit a porovnat instance typů řazené kolekce členů.It is useful primarily for its static methods that let you create and compare instances of value tuple types. Jeho pomocné metody umožňují vytvářet instance řazených kolekcí členů bez nutnosti explicitně zadat typ každé součásti řazené kolekce členů hodnot.Its helper methods let you instantiate value tuples without having to explicitly specify the type of each value tuple component. Voláním metod statického Create můžete vytvořit řazené kolekce členů, které mají 0 až osm součástí.By calling its static Create methods, you can create value tuples that have from zero to eight components. Pro řazené kolekce členů s více než osmi komponentami je nutné volat konstruktor ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest>.For value tuples with more than eight components, you must call the ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor.

Serializace a hodnoty – řazené kolekce členůSerialization and value tuples

Typ ValueTuple není serializovatelný v rozhraní .NET Core 1. x nebo v .NET Framework 4,7 a dřívějších verzích.The ValueTuple type is not serializable in .NET Core 1.x or in the .NET Framework 4.7 and earlier versions. Kromě toho .NET Standard, včetně .NET Standard 2,0, nedeklaruje serializaci instancí ValueTuple; bez ohledu na to, jestli je instance ValueTuple serializovatelný, závisí na implementaci jednotlivých .NET Standard.In addition, .NET Standard, including .NET Standard 2.0, does not mandate serialization of ValueTuple instances; whether or not a ValueTuple instance is serializable depends on the individual .NET Standard implementation. Chcete-li určit, zda je typ ValueTuple serializovatelný na konkrétní implementaci rozhraní .NET, získejte objekt Type, který představuje typ ValueTuple a načtěte hodnotu jeho IsSerializable vlastnosti.To determine whether a ValueTuple type is serializable on a particular .NET implementation, get a Type object that represents the ValueTuple type and retrieve the value of its IsSerializable property. Seznam serializovatelných typů v rozhraní .NET Core a .NET Framework naleznete v tématu binární serializace.For a list of serializable types in .NET Core and the .NET Framework, see Binary Serialization.

Metody

CompareTo(ValueTuple)

Porovná aktuální instanci ValueTuple s určenou instancí ValueTuple.Compares the current ValueTuple instance to a specified ValueTuple instance.

Create()

Vytvoří novou hodnotu řazené kolekce členů s nulovými komponentami.Creates a new value tuple with zero components.

Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8)

Vytvoří novou hodnotu řazené kolekce členů s 8 komponentami (octuple).Creates a new value tuple with 8 components (an octuple).

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

Vytvoří novou hodnotu řazené kolekce členů se 7 komponentami (septuple).Creates a new value tuple with 7 components (a septuple).

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

Vytvoří novou hodnotu řazené kolekce členů s 6 komponentami (sexuple).Creates a new value tuple with 6 components (a sexuple).

Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5)

Vytvoří novou hodnotu řazené kolekce členů s 5 komponentami (quintuple).Creates a new value tuple with 5 components (a quintuple).

Create<T1,T2,T3,T4>(T1, T2, T3, T4)

Vytvoří novou řazenou kolekci členů se 4 součástmi (čtyřnásobnou).Creates a new value tuple with 4 components (a quadruple).

Create<T1,T2,T3>(T1, T2, T3)

Vytvoří novou hodnotu řazené kolekce členů se 3 komponentami (Troji).Creates a new value tuple with 3 components (a triple).

Create<T1,T2>(T1, T2)

Vytvoří novou hodnotu řazené kolekce členů se 2 komponentami (dvojice).Creates a new value tuple with 2 components (a pair).

Create<T1>(T1)

Vytvoří novou množinu členů s hodnotou 1 součásti (singleton).Creates a new value tuple with 1 component (a singleton).

Equals(Object)

Vrací hodnotu, která označuje, zda je aktuální ValueTuple instance rovna zadanému objektu.Returns a value that indicates whether the current ValueTuple instance is equal to a specified object.

Equals(ValueTuple)

Určuje, zda jsou dvě instance ValueTuple stejné.Determines whether two ValueTuple instances are equal. Tato metoda vždy vrací true.This method always returns true.

GetHashCode()

Vrátí kód hash aktuální instance ValueTuple.Returns the hash code for the current ValueTuple instance.

ToString()

Vrátí řetězcovou reprezentaci této instance ValueTuple.Returns the string representation of this ValueTuple instance.

Explicitní implementace rozhraní

IComparable.CompareTo(Object)

Porovná tuto instanci ValueTuple se zadaným objektem a vrátí označení jejich relativních hodnot.Compares this ValueTuple instance with a specified object and returns an indication of their relative values.

IStructuralComparable.CompareTo(Object, IComparer)

Porovná aktuální instanci ValueTuple se zadaným objektem.Compares the current ValueTuple instance to a specified object.

IStructuralEquatable.Equals(Object, IEqualityComparer)

Vrací hodnotu, která označuje, zda je aktuální ValueTuple instance rovna zadanému objektu na základě zadané metody porovnání.Returns a value that indicates whether the current ValueTuple instance is equal to a specified object based on a specified comparison method.

IStructuralEquatable.GetHashCode(IEqualityComparer)

Vrátí kód hash této instance ValueTuple.Returns the hash code for this ValueTuple instance.

ITuple.Item[Int32]

Vrátí IndexOutOfRangeException.Returns an IndexOutOfRangeException. V ValueTuple nejsou žádné prvky.There are no elements in a ValueTuple.

ITuple.Length

Získá délku této instance ValueTuple, která je vždycky 0.Gets the length of this ValueTuple instance, which is always 0. V ValueTuple nejsou žádné prvky.There are no elements in a ValueTuple.

Platí pro