Tuple Tuple Tuple Tuple Class

Определение

Предоставляет статические методы для создания объектов кортежей.Provides static methods for creating tuple objects.

public ref class Tuple abstract sealed
public static class Tuple
type Tuple = class
Public Class Tuple
Наследование
TupleTupleTupleTuple

Примеры

В следующем примере создается 8-кортеж (октупле), содержащий простые числа меньше 20.The following example creates an 8-tuple (octuple) that contains prime numbers that are less than 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
Dim 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

Комментарии

Кортеж — это структура данных, которая содержит определенное число и последовательность элементов.A tuple is a data structure that has a specific number and sequence of elements. Примером кортежа является структура данных с тремя элементами (называемых тремя кортежами или тройной), которая используется для хранения идентификатора, например имени человека в первом элементе, года второго элемента и дохода пользователя за этот год в третьем элементе.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. .NET Framework напрямую поддерживает кортежи с одним и семи элементами.The .NET Framework directly supports tuples with one to seven elements. Кроме того, можно создавать кортежи из восьми или более элементов путем вложения объектов кортежа в Rest свойство Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> объекта.In addition, you can create tuples of eight or more elements by nesting tuple objects in the Rest property of a Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object.

Кортежи обычно используются четырьмя способами:Tuples are commonly used in four ways:

  • Для представления одного набора данных.To represent a single set of data. Например, кортеж может представлять запись базы данных, а ее компоненты могут представлять отдельные поля записи.For example, a tuple can represent a database record, and its components can represent individual fields of the record.

  • Для обеспечения простого доступа к набору данных и его манипуляции.To provide easy access to, and manipulation of, a data set.

  • Для получения нескольких значений из метода без использования out параметров (в C#) или ByRef параметров (в Visual Basic).To return multiple values from a method without using out parameters (in C#) or ByRef parameters (in Visual Basic).

  • Передача нескольких значений в метод через один параметр.To pass multiple values to a method through a single parameter. Например, Thread.Start(Object) метод имеет один параметр, который позволяет указать одно значение для метода, выполняемого потоком во время запуска.For example, the Thread.Start(Object) method has a single parameter that lets you supply one value to the method that the thread executes at startup time. При указании Tuple<T1,T2,T3> объекта в качестве аргумента метода можно указать подпрограммы запуска потока с тремя элементами данных.If you supply a Tuple<T1,T2,T3> object as the method argument, you can supply the thread's startup routine with three items of data.

Класс Tuple сам по себе не представляет кортеж.The Tuple class does not itself represent a tuple. Вместо этого это класс, предоставляющий статические методы для создания экземпляров типов кортежей, которые поддерживаются .NET Framework.Instead, it is a class that provides static methods for creating instances of the tuple types that are supported by the .NET Framework. Он предоставляет вспомогательные методы, которые можно вызывать для создания экземпляров объектов кортежа без явного указания типа каждого компонента кортежа.It provides helper methods that you can call to instantiate tuple objects without having to explicitly specify the type of each tuple component.

Несмотря на то, что можно создать экземпляр класса кортежа путем вызова его конструктора класса, код для этого может быть громоздким.Although you can create an instance of a tuple class by calling its class constructor, the code to do so can be cumbersome. В следующем примере конструктор класса используется для создания 7 кортежей или из семи компонентов, содержащих данные о населении для Нью-Йоркного города с 1950 по 2000.The following example uses a class constructor to create a 7-tuple or septuple that contains population data for New York City for each census from 1950 through 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.
Dim population As New Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer) _
                           ("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

Создание одного и того же объекта кортежа с помощью вспомогательного метода более просто, как показано в следующем примере.Creating the same tuple object by using a helper method is more straightforward, as the following example shows.

// 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 a 7-tuple.
Dim 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 Вспомогательные методы напрямую поддерживают создание объектов кортежа, имеющих от одного до восьми компонентов (т. е. Singleton-элементов через октуплес).The Create helper methods directly support the creation of tuple objects that have from one to eight components (that is, singletons through octuples). Хотя не существует практического ограничения числа компонентов, которые может иметь кортеж, вспомогательные методы недоступны для создания кортежа с девятью или более компонентами.Although there is no practical limit to the number of components a tuple may have, helper methods are not available to create a tuple with nine or more components. Чтобы создать такой кортеж, необходимо вызвать Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> конструктор.To create such a tuple, you must call the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor.

Примечание

Дополнительные сведения и примеры использования кортежей см. в документации по отдельным типам кортежей в .NET Framework.For additional information and examples that use tuples, see the documentation for the individual tuple types in the .NET Framework. Они перечислены в разделе см. также в конце этого раздела.These are listed in the See Also section at the end of this topic.

Методы

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)

Создает новый кортеж из восьми компонентов.Creates a new 8-tuple, or 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)

Создает новый кортеж из семи компонентов.Creates a new 7-tuple, or 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)

Создает новый кортеж из шести компонентов.Creates a new 6-tuple, or sextuple.

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)

Создает новый кортеж из пяти компонентов.Creates a new 5-tuple, or 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)

Создает новый кортеж из четырех компонентов.Creates a new 4-tuple, or 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)

Создает новый кортеж из трех компонентов.Creates a new 3-tuple, or triple.

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

Создает новый кортеж из двух компонентов (пару).Creates a new 2-tuple, or pair.

Create<T1>(T1) Create<T1>(T1) Create<T1>(T1) Create<T1>(T1)

Создает новый кортеж из одного компонента.Creates a new 1-tuple, or singleton.

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

Дополнительно