ValueTuple Struktura

Definicja

Udostępnia metody statyczne do tworzenia krotki wartości.

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

Uwagi

Krotka to struktura danych, która ma określoną liczbę i sekwencję elementów. Przykładem krotki jest struktura danych z trzema elementami (znanymi jako krotka 3-krotka lub potrójna), która służy do przechowywania identyfikatora, takiego jak nazwisko osoby w pierwszym elemecie, rok w drugim elemecie i dochód osoby za ten rok w trzecim elemple.

Krotki wartości to typy krotki wprowadzone w .NET Framework 4.7 w celu zapewnienia implementacji krotki w języku C# i krotki struktury w języku F#. Różnią się one od klas krotki, takich jak Tuple<T1>, Tuple<T1,T2>itp., w następujący sposób:

  • Są to struktury (typy wartości), a nie klasy (typy referencyjne).

  • Są modyfikowalne, a nie tylko do odczytu. Oznacza to, że wartość składników krotki może ulec zmianie.

  • Ich składowe danych, takie jak Item1, Item2itp., są polami, a nie właściwościami.

Struktura ValueTuple reprezentuje krotkę, która nie ma elementów. Jest to przydatne przede wszystkim w przypadku jego metod statycznych, które umożliwiają tworzenie i porównywanie wystąpień typów krotki wartości. Jej metody pomocnicze umożliwiają utworzenie wystąpień krotki wartości bez konieczności jawnego określania typu każdego składnika krotki wartości. Wywołując metody statyczne Create , można utworzyć krotki wartości, które mają od zera do ośmiu składników. W przypadku krotki wartości z ponad ośmioma składnikami należy wywołać ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktor.

Serializacja i krotki wartości

Typ ValueTuple nie można serializować na platformie .NET Core 1.x lub w .NET Framework 4.7 i starszych wersjach. Ponadto platforma .NET Standard, w tym .NET Standard 2.0, nie nakazuje serializacji ValueTuple wystąpień. Niezależnie od tego, czy ValueTuple wystąpienie można serializować, zależy od pojedynczej implementacji platformy .NET Standard. Aby określić, czy ValueTuple typ można serializować w określonej implementacji platformy .NET, pobierz Type obiekt reprezentujący ValueTuple typ i pobierz wartość jego IsSerializable właściwości. Aby uzyskać listę typów możliwych do serializacji na platformie .NET Core i .NET Framework, zobacz Serializacja binarna.

Metody

CompareTo(ValueTuple)

Porównuje bieżące ValueTuple wystąpienie z określonym ValueTuple wystąpieniem.

Create()

Tworzy nową krotkę wartości z zerowymi składnikami.

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

Tworzy nową krotkę wartości z 8 składnikami (ósemką).

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

Tworzy nową krotkę wartości z 7 składnikami (septuple).

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

Tworzy nową krotkę wartości z 6 składnikami (sexuple).

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

Tworzy nową krotkę wartości z 5 składnikami (kwintesencją).

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

Tworzy nową krotkę wartości z 4 składnikami (czterokrotnie).

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

Tworzy nową krotkę wartości z 3 składnikami (potrójne).

Create<T1,T2>(T1, T2)

Tworzy nową krotkę wartości z 2 składnikami (parą).

Create<T1>(T1)

Tworzy nową krotkę wartości z 1 składnikiem (pojedynczą).

Equals(Object)

Zwraca wartość wskazującą, czy bieżące ValueTuple wystąpienie jest równe określonemu obiektowi.

Equals(ValueTuple)

Określa, czy dwa ValueTuple wystąpienia są równe. Ta metoda zawsze zwraca wartość true.

GetHashCode()

Zwraca kod skrótu dla bieżącego ValueTuple wystąpienia.

ToString()

Zwraca reprezentację ciągu tego ValueTuple wystąpienia.

Jawne implementacje interfejsu

IComparable.CompareTo(Object)

Porównuje to ValueTuple wystąpienie z określonym obiektem i zwraca wskazanie ich wartości względnych.

IStructuralComparable.CompareTo(Object, IComparer)

Porównuje bieżące ValueTuple wystąpienie z określonym obiektem.

IStructuralEquatable.Equals(Object, IEqualityComparer)

Zwraca wartość wskazującą, czy bieżące ValueTuple wystąpienie jest równe określonemu obiektowi na podstawie określonej metody porównania.

IStructuralEquatable.GetHashCode(IEqualityComparer)

Zwraca kod skrótu dla tego ValueTuple wystąpienia.

ITuple.Item[Int32]

Zwraca wartość .IndexOutOfRangeException Brak elementów w obiekcie ValueTuple.

ITuple.Length

Pobiera długość tego ValueTuple wystąpienia, czyli zawsze 0. Brak elementów w obiekcie ValueTuple.

Dotyczy