ValueTuple<T1,T2,T3,T4,T5,T6,T7> Структура

Определение

Представляет кортеж значений с 7 компонентами.

generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
public value class ValueTuple : IComparable, IComparable<ValueTuple<T1, T2, T3, T4, T5, T6, T7>>, IEquatable<ValueTuple<T1, T2, T3, T4, T5, T6, T7>>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
public value class ValueTuple : IComparable, IComparable<ValueTuple<T1, T2, T3, T4, T5, T6, T7>>, IEquatable<ValueTuple<T1, T2, T3, T4, T5, T6, T7>>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
public struct ValueTuple<T1,T2,T3,T4,T5,T6,T7> : IComparable, IComparable<(T1, T2, T3, T4, T5, T6, T7)>, IEquatable<(T1, T2, T3, T4, T5, T6, T7)>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
public struct ValueTuple<T1,T2,T3,T4,T5,T6,T7> : IComparable, IComparable<(T1, T2, T3, T4, T5, T6, T7)>, IEquatable<(T1, T2, T3, T4, T5, T6, T7)>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
[System.Serializable]
public struct ValueTuple<T1,T2,T3,T4,T5,T6,T7> : IComparable, IComparable<(T1, T2, T3, T4, T5, T6, T7)>, IEquatable<(T1, T2, T3, T4, T5, T6, T7)>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type ValueTuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7> = struct
    interface ITuple
type ValueTuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7> = struct
[<System.Serializable>]
type ValueTuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7> = struct
    interface ITuple
Public Structure ValueTuple(Of T1, T2, T3, T4, T5, T6, T7)
Implements IComparable, IComparable(Of ValueTuple(Of T1, T2, T3, T4, T5, T6, T7)), IEquatable(Of ValueTuple(Of T1, T2, T3, T4, T5, T6, T7)), IStructuralComparable, IStructuralEquatable, ITuple
Public Structure ValueTuple(Of T1, T2, T3, T4, T5, T6, T7)
Implements IComparable, IComparable(Of ValueTuple(Of T1, T2, T3, T4, T5, T6, T7)), IEquatable(Of ValueTuple(Of T1, T2, T3, T4, T5, T6, T7)), IStructuralComparable, IStructuralEquatable

Параметры типа

T1

Тип первого элемента кортежа значений.

T2

Тип второго элемента кортежа значений.

T3

Тип третьего элемента кортежа значений.

T4

Тип четвертого элемента кортежа значений.

T5

Тип пятого элемента кортежа значений.

T6

Тип шестого элемента кортежа значений.

T7

Тип седьмого элемента кортежа значений.

Наследование
ValueTuple<T1,T2,T3,T4,T5,T6,T7>
Атрибуты
Реализации

Комментарии

Кортеж значений — это структура данных, которая имеет определенное число и последовательность значений. Структура ValueTuple<T1,T2,T3,T4,T5,T6,T7> представляет кортеж значений с семью элементами.

Типы кортежей значений отличаются от типов кортежей (например Tuple<T1,T2,T3,T4,T5,T6,T7>, ниже).

  • Они являются структурами (типами значений), а не классами (ссылочными типами).

  • Члены, такие как Item1 и Item2 являются полями, а не свойствами.

  • Их поля являются изменяемыми, а не только для чтения.

Типы кортежей значений предоставляют реализацию среды выполнения, которая поддерживает кортежи в C# и кортеже структур в F#. Помимо создания экземпляра ValueTuple<T1,T2,T3,T4,T5,T6,T7> с помощью синтаксиса языка, можно вызвать метод фабрики Create .

Сериализация и кортежи значений

Тип ValueTuple<T1,T2,T3,T4,T5,T6,T7> не сериализуется в .NET Core 1.x или в платформа .NET Framework 4.7 и более ранних версиях. Кроме того, .NET Standard, включая .NET Standard 2.0, не требует сериализации ValueTuple<T1,T2,T3,T4,T5,T6,T7> экземпляров. Независимо от того, является ли ValueTuple<T1,T2,T3,T4,T5,T6,T7> экземпляр сериализуемым, зависит от отдельной реализации .NET Standard. Чтобы определить, является ли ValueTuple<T1,T2,T3,T4,T5,T6,T7> тип сериализуемым в конкретной реализации .NET, получите Type объект, представляющий ValueTuple<T1,T2,T3,T4,T5,T6,T7> тип, и получите значение его IsSerializable свойства. Список сериализуемых типов в .NET Core и платформа .NET Framework см. в разделе Двоичная сериализация.

Конструкторы

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

Инициализирует новый экземпляр класса ValueTuple<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7).

Поля

Item1

Получает значение первого элемента текущего экземпляра ValueTuple<T1,T2,T3,T4,T5,T6,T7>.

Item2

Получает значение второго элемента текущего экземпляра ValueTuple<T1,T2,T3,T4,T5,T6,T7>.

Item3

Получает значение третьего элемента текущего экземпляра ValueTuple<T1,T2,T3,T4,T5,T6,T7>.

Item4

Получает значение четвертого элемента текущего экземпляра ValueTuple<T1,T2,T3,T4,T5,T6,T7>.

Item5

Получает значение пятого элемента текущего экземпляра ValueTuple<T1,T2,T3,T4,T5,T6,T7>.

Item6

Получает значение шестого элемента текущего экземпляра ValueTuple<T1,T2,T3,T4,T5,T6,T7>.

Item7

Получает значение седьмого элемента текущего экземпляра ValueTuple<T1,T2,T3,T4,T5,T6,T7>.

Методы

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

Сравнивает текущий экземпляр ValueTuple<T1,T2,T3,T4,T5,T6,T7> с указанным экземпляром ValueTuple<T1,T2,T3,T4,T5,T6,T7>.

Equals(Object)

Возвращает значение, показывающее, равен ли текущий экземпляр ValueTuple<T1,T2,T3,T4,T5,T6,T7> указанному объекту.

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

Возвращает значение, показывающее, равен ли текущий экземпляр ValueTuple<T1,T2,T3,T4,T5,T6,T7> указанному экземпляру ValueTuple<T1,T2,T3,T4,T5,T6,T7>.

GetHashCode()

Вычисляет хэш-код для текущего экземпляра ValueTuple<T1,T2,T3,T4,T5,T6,T7>.

ToString()

Возвращает строковое представление значения этого экземпляра ValueTuple<T1,T2,T3,T4,T5,T6,T7>.

Явные реализации интерфейса

IComparable.CompareTo(Object)

Сравнивает текущий экземпляр ValueTuple<T1,T2,T3,T4,T5,T6,T7> с заданным объектом, используя указанную функцию сравнения, и возвращает целое число, определяющее, находится ли текущий объект в той же позиции, что и указанный объект, после него или перед ним в порядке сортировки.

IStructuralComparable.CompareTo(Object, IComparer)

Сравнивает текущий экземпляр ValueTuple<T1,T2,T3,T4,T5,T6,T7> с заданным объектом, используя указанную функцию сравнения, и возвращает целое число, определяющее, находится ли текущий объект в той же позиции, что и указанный объект, после него или перед ним в порядке сортировки.

IStructuralEquatable.Equals(Object, IEqualityComparer)

Возвращает значение, показывающее, равен ли текущий экземпляр ValueTuple<T1,T2,T3,T4,T5,T6,T7> указанному объекту, на основе заданного метода сравнения.

IStructuralEquatable.GetHashCode(IEqualityComparer)

Вычисляет хэш-код для текущего экземпляра ValueTuple<T1,T2,T3,T4,T5,T6,T7>, используя указанный метод вычисления.

ITuple.Item[Int32]

Получает значение указанного элемента ValueTuple.

ITuple.Length

Возвращает количество элементов в ValueTuple.

Методы расширения

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

Преобразует экземпляр структуры ValueTuple в экземпляр класса Tuple.

Применяется к