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

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> 巢狀層級的物件,如下所示:

適用於

另請參閱