ValueTuple ValueTuple ValueTuple ValueTuple Struct

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
ValueTupleValueTupleValueTupleValueTuple
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 Rozhraní .NET framework 4.7.NET Framework 4.7 členů, které jsou představeny v rozhraní, aby poskytovaly běhovou F#implementaci řazených kolekcí členů v C# rámci a struktury 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ů, Tuple<T1>jako Tuple<T1,T2>je například, atd. následujícím způsobem: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.

ValueTuple Struktura 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 jeho statických Create metod 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 ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktor.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

ValueTuple Typ 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 ValueTuple instancí; bez ohledu na to, jestli ValueTuple je instance serializovatelný, závisí na konkrétní implementaci .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 ValueTuple , zda je typ serializovatelný na konkrétní implementaci rozhraní .NET, Type získejte objekt, který ValueTuple představuje typ 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) CompareTo(ValueTuple) CompareTo(ValueTuple) CompareTo(ValueTuple)

Porovná aktuální ValueTuple instanci se zadanou ValueTuple instancí.Compares the current ValueTuple instance to a specified ValueTuple instance.

Create() Create() Create() 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) Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8) Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8) 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) Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7) Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7) 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) Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6) Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6) 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) Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5) Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5) 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) Create<T1,T2,T3,T4>(T1, T2, T3, T4) Create<T1,T2,T3,T4>(T1, T2, T3, T4) 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) Create<T1,T2,T3>(T1, T2, T3) Create<T1,T2,T3>(T1, T2, T3) 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) Create<T1,T2>(T1, T2) Create<T1,T2>(T1, T2) 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) Create<T1>(T1) Create<T1>(T1) 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(ValueTuple) Equals(ValueTuple) Equals(ValueTuple) Equals(ValueTuple)

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

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

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

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

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

ToString() ToString() ToString() ToString()

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

Explicitní implementace rozhraní

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

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

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

Vrací hodnotu, která označuje, zda je ValueTuple aktuální 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) IStructuralEquatable.GetHashCode(IEqualityComparer) IStructuralEquatable.GetHashCode(IEqualityComparer) IStructuralEquatable.GetHashCode(IEqualityComparer)

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

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

Porovná ValueTuple tuto instanci 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.

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

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

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

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

Platí pro