Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Класс Tuple

 

Опубликовано: Октябрь 2016

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

Для просмотра исходного кода .NET Framework для этого типа, в разделе Reference Source.

Пространство имен:   System
Сборка:  mscorlib (в mscorlib.dll)


ИмяОписание
System_CAPS_pubmethodSystem_CAPS_staticCreate<T1>(T1)

Создает новый кортеж из одного компонента.

System_CAPS_pubmethodSystem_CAPS_staticCreate<T1, T2>(T1, T2)

Создает новый кортеж из двух компонентов (пару).

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

Создает новый кортеж из трех компонентов.

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

Создает новый кортеж из четырех компонентов.

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

Создает новый кортеж из пяти компонентов.

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

Создает новый кортеж из шести компонентов.

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

Создает новый кортеж из семи компонентов.

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

Создает новый кортеж из восьми компонентов.

System_CAPS_noteПримечание

Исходный код .NET Framework для этого типа см. в разделе Reference Source. Выполнять поиск исходного кода в Интернете, справочник для автономной работы и пошагово источники (включая исправления и обновления) во время отладки; see instructions.

Кортеж — это структура данных, с определенным номером и последовательность элементов. Пример кортеж — это структура данных с тремя элементами (известные как 3 кортежей или triple), используется для хранения идентификатора, такого как имя пользователя в первый элемент, в году в второго элемента и его доход за этот год в третий элемент. Платформа .NET Framework поддерживает непосредственно кортежей с одной до семи элементов. Кроме того, можно создать путем вложения объектов кортежей в кортежи восемь или более элементов Rest свойство Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> объекта.

Кортежи обычно используются четырьмя способами:

  • Для представления одного набора данных. Например кортеж может представлять запись в базе данных, и его компоненты могут представлять отдельные поля записи.

  • Чтобы предоставить доступ к функциям и его обработки набора данных.

  • Для возврата нескольких значений из метода без использования out параметры (в C#) или ByRef (в Visual Basic).

  • Для передачи нескольких значений методу в составе одного параметра. Например Thread.Start(Object) метод принимает один параметр, позволяющий предоставлять одно значение метода, который выполняется потоком во время запуска. При указании Tuple<T1, T2, T3> объект как аргумент метода, можно просто указать процедуру запуска потока с тремя элементами данных.

Tuple Класса не самого представления кортежа. Вместо этого это класс, который предоставляет статические методы для создания экземпляров типов кортежей, поддерживаемых платформой .NET Framework. Он предоставляет вспомогательные методы, которые можно вызывать для создания объектов кортежей без явного указания типа каждого компонента кортежа.

Несмотря на то, что можно создать экземпляр класса кортежа, вызывая его конструктор класса, код для этого может быть очень обременительным. В следующем примере используется конструктор класса для создания 7 кортежа или кортеж из семи компонентов, содержащий данные для Нью-Йорк переписи от 1950 до 2000.

// Create a 7-tuple.
var population = new Tuple<string, int, int, int, int, int, int>(
                           "New York", 7891957, 7781984, 
                           7894862, 7071639, 7322564, 8008278);
// Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
                  population.Item1, population.Item7);
// The example displays the following output:
//       Population of New York in 2000: 8,008,278

Создание один и тот же объект кортежа с помощью вспомогательного метода является более простым, как показано в следующем примере.

// Create a 7-tuple.
var population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278);
// Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
                  population.Item1, population.Item7);
// The example displays the following output:
//       Population of New York in 2000: 8,008,278

Create Вспомогательные методы непосредственно поддерживают создание объектов кортежа, имеющих от одного до восьми компонентов (то есть восьмеричных кортежей). Несмотря на то, что нет ограничения на количество компонентов кортеж, возможно, вспомогательные методы для создания кортежа с компонентами 9 и более недоступны. Чтобы создать такой кортеж, необходимо вызвать Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>.Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> конструктор.

System_CAPS_noteПримечание

Дополнительные сведения и примеры использования кортежей см. в документации для отдельных кортежа типов в .NET Framework. Они перечислены в разделе см. также в конце этого раздела.

В следующем примере создается 8-кортеж (octuple), содержащего простые числа меньше 20.

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

Универсальная платформа Windows
Доступно с 8
.NET Framework
Доступно с 4.0
Переносимая библиотека классов
Поддерживается в: переносимые платформы .NET
Silverlight
Доступно с 4.0
Windows Phone Silverlight
Доступно с 8.0
Windows Phone
Доступно с 8.1

Любые открытые статические элементы ( Предоставлен общий доступ в Visual Basic) этого типа являются потокобезопасными. Потокобезопасность элементов экземпляров не гарантируется.

Вернуться в начало
Показ: