Tuple Tuple Tuple Tuple Class

Definition

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

public ref class Tuple abstract sealed
public static class Tuple
type Tuple = class
Public Class Tuple
Inheritance
TupleTupleTupleTuple

Examples

В следующем примере создается кортеж восьми (octuple), содержащий простые числа меньше 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

Remarks

Кортеж — это структура данных, с определенным номером и последовательность элементов.A tuple is a data structure that has a specific number and sequence of elements. Примером кортеж — это структура данных с тремя элементами (известный как 3-кортежей или трижды), используемый для хранения идентификатора, такого как имя пользователя в первый элемент, в году в второй элемент и его доход за этот год в третий элемент.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. В следующем примере используется конструктор класса, чтобы создать кортеж из семи или из семи компонентов, содержащий данные о населении для Нью-Йорке переписи из 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 Вспомогательные методы непосредственно поддержки создания объектов кортежей, имеющих от одного до восьми компонентов (т. е восьмеричных кортежей).The Create helper methods directly support the creation of tuple objects that have from one to eight components (that is, singletons through octuples). Несмотря на то, что нет практической число компонентов, возможно, кортеж, вспомогательные методы для создания кортежа с компонентами 9 и более не доступны.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.

Methods

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.

Applies to

See Also