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
Tuple 第 1 個元件的值。
- item2
- T2
Tuple 第 2 個元件的值。
- item3
- T3
Tuple 第 3 個元件的值。
- item4
- T4
元組第四個元件的值。
- item5
- T5
Tuple 第 5 個元件的值。
- item6
- T6
Tuple 第 6 個元件的值。
- item7
- T7
Tuple 第 7 個元件的值。
- rest
- TRest
包含 Tuple 其餘元件之值的任何泛型 Tuple
物件。
例外狀況
rest
不是泛型 Tuple
物件。
範例
下列範例會針對 1860 到 2000 年的每個人口普查,建立一個 17 元組,其中包含 D市的人口資料。 Tuple 的第一個元件是城市名稱。 第二個元件是數列資料的開始日期,而第三個元件則是開始日期的母體擴展。 每個後續元件會以十年間隔提供母體擴展。 此範例使用兩層巢狀來建立 17 元組:它會定義 7-Tuple,其第三個到第七個元件包含 1860 到 1900 的母體資料、包含 1910 到 1970 的母體資料巢狀 7 元組,以及包含 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 物件。
使用 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 建構函式建立具有八個或多個元件的 n-tuple 時,您可以使用 rest
參數來建立一到七個元件的巢狀 n 元組。 藉由使用連續的巢狀層級,您可以建立具有幾乎無限制數目元件的 n 元組。 例如,若要建立 25 個 Tuple,您可以具現化具有三個 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> 二層巢狀的物件包含第十五到二十一個元件,而其 Rest 屬性會提供第三層巢狀物件存取權 Tuple<T1,T2,T3,T4> 。
最內層 Tuple 是包含二十秒到第二十五個 Tuple<T1,T2,T3,T4> 元件的物件。