Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>(T1, T2, T3, T4, T5, T6, T7, TRest) 构造函数

定义

初始化 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 类的新实例。Initializes a new instance of the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> class.

public:
 Tuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest);
public Tuple (T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest);
new Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> : 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'Rest -> Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest>
Public Sub New (item1 As T1, item2 As T2, item3 As T3, item4 As T4, item5 As T5, item6 As T6, item7 As T7, rest As TRest)

参数

item1
T1

此元组的第一个组件的值。The value of the tuple's first component.

item2
T2

此元组的第二个组件的值。The value of the tuple's second component.

item3
T3

此元组的第三个组件的值。The value of the tuple's third component.

item4
T4

此元组的第四个组件的值The value of the tuple's fourth component

item5
T5

元组的第五个分量的值。The value of the tuple's fifth component.

item6
T6

元组的第六个分量的值。The value of the tuple's sixth component.

item7
T7

元组的第七个分量的值。The value of the tuple's seventh component.

rest
TRest

任何常规 Tuple 对象,其中包含元组的剩余分量的值。Any generic Tuple object that contains the values of the tuple's remaining components.

例外

rest 不是泛型 Tuple 对象。rest is not a generic Tuple object.

示例

下面的示例创建一个17元组,该元组包含每个人口普查1860到2000的人口的人口数据 Detroit。The following example creates a 17-tuple that contains population data for the city of Detroit, Michigan, for each census from 1860 to 2000. 该元组的第一个组件是城市名称。The first component of the tuple is the city name. 第二个组件是一系列数据的开始日期,第三个组件是开始日期的人口。The second component is the start date of the series of data, and the third component is the population at the start date. 每个后续组件提供十年时间间隔的人口。Each subsequent component provides the population at decade intervals. 该示例使用两层嵌套来创建17元组:它定义7元组,该元组的第三个和第七个组件包含1860到1900的人口数据、包含1910到1970的人口数据的嵌套7元组,以及内部嵌套的3元组,其中包含1980到2000的人口数据。The example uses two layers of nesting to create the 17-tuple: It defines a 7-tuple whose third through seventh components contain population data for 1860 through 1900, a nested 7-tuple that contains population data for 1910 through 1970, and an inner nested 3-tuple that contains population data for 1980 through 2000.

var from1980 = Tuple.Create(1203339, 1027974, 951270);
var from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>> 
    (465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980);
var population = new Tuple<string, int, int, int, int, int, int,
    Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>> 
    ("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910);
Dim from1980 = Tuple.Create(1203339, 1027974, 951270)
Dim from1910 As New Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, _
    Tuple(Of Integer, Integer, Integer)) _
    (465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
Dim population As New Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer, _ 
    Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, Tuple(Of Integer, Integer, Integer))) _
    ("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910)

注解

你还可以使用静态 Tuple.Create 方法来实例化8元组(八元组)对象,而无需显式指定其组件的类型。You can also use the static Tuple.Create method to instantiate an 8-tuple (octuple) object without having to explicitly specify the types of its components. 下面的示例使用 Tuple.Create 方法来实例化包含小于20的质数的8元组对象。The following example uses the Tuple.Create method to instantiate an 8-tuple object 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

这等效于以下对 Tuple<T1,T2,T3,T4,T5,T6,T7> 类构造函数的调用。This is equivalent to the following call to the Tuple<T1,T2,T3,T4,T5,T6,T7> class constructor.

var primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,  
             Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19));
Dim primes = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, _ 
             Tuple(Of Int32))(2, 3, 5, 7, 11, 13, 17, New Tuple(Of Int32)(19))

但是,静态 Tuple.Create 方法不能用于创建包含8个以上组件的元组对象。However, the static Tuple.Create method cannot be used to create a tuple object with more than eight components.

使用 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 构造函数创建包含八个或更多组件的 n 元组时,可以使用 rest 参数创建包含一到7个组件的嵌套 n 元组。When using the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor to create an n-tuple with eight or more components, you use the rest parameter to create a nested n-tuple that has from one to seven components. 通过使用连续的嵌套级别,可以创建一个具有几乎不受限制的组件数的 n 元组。By using successive levels of nesting, you can create an n-tuple that has a virtually unlimited number of components. 例如,若要创建一个25元组,可以实例化一个具有三个嵌套级别的 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 对象,如下所示:For example, to create a 25-tuple, you instantiate a Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object with three levels of nesting, as follows:

适用于

另请参阅