Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 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> 嵌套级别的对象,如下所示:
最 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 外层的对象包含第一个到第七个组件。 其 Rest 属性提供对第一 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 级嵌套对象的访问。
最外面的嵌套 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 对象包含第八到第十四个组件,其 Rest 属性提供对 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 嵌套第二层对象的访问。
Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>嵌套第二层的对象包含第 15 到 21 个组件,其 Rest 属性提供对Tuple<T1,T2,T3,T4>嵌套第三级对象的访问。
最内部的元组是包含 Tuple<T1,T2,T3,T4> 22 到 25 个组件的对象。