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

定义

初始化 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 类的新实例。

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

此元组的第一个组件的值。

item2
T2

此元组的第二个组件的值。

item3
T3

此元组的第三个组件的值。

item4
T4

元组的第四个分量的值。

item5
T5

元组的第五个分量的值。

item6
T6

元组的第六个分量的值。

item7
T7

元组的第七个分量的值。

rest
TRest

任何常规 Tuple 对象,其中包含元组的剩余分量的值。

例外

rest 不是泛型 Tuple 对象。

示例

以下示例创建一个包含 17 元组的元组,其中包含密歇根州底特律市从 1860 年到 2000 年每次人口普查的人口数据。 元组的第一个组件是城市名称。 第二个组件是数据序列的开始日期,第三个组件是开始日期的填充。 每个后续组件按十年间隔提供填充。 该示例使用两层嵌套来创建 17 元组:它定义一个 7 元组,其第三到第七个组件包含 1860 到 1900 年的人口数据,一个嵌套的 7 元组包含 1910 到 1970 年的人口数据,以及一个包含 1980 年到 2000 年总体数据的内部嵌套 3 元组。

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);
let from1980 = Tuple.Create(1203339, 1027974, 951270)
let from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>(465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
let 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 元组 (八进制) 对象,而无需显式指定其组件的类型。 以下示例使用 Tuple.Create 方法实例化包含小于 20 的质数的 8 元组对象。

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
open System

let primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19)
printfn $"Prime numbers less than 20: {primes.Item1}, {primes.Item2}, {primes.Item3}, {primes.Item4}, {primes.Item5}, {primes.Item6}, {primes.Item7}, and {primes.Rest.Item1}"
//    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>

var primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,  
             Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19));
let 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 方法不能用于创建具有八个以上组件的元组对象。

使用 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 构造函数创建具有八个或更多组件的 n 元组时,可以使用 rest 参数创建一个嵌套的 n 元组,该组具有一到七个组件。 通过使用连续的嵌套级别,可以创建具有几乎无限数量的组件的 n 元组。 例如,若要创建一个 25 元组,需要实例化具有三个 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 嵌套级别的对象,如下所示:

适用于

另请参阅