使用時機:
- 方法有多個回傳值
outref- Tuple
- 聚合多種資料型態的資料
classstuct- Tuple
方法多個回傳值時用 Tuple 只是用 out 或 ref 的一種替代方法,雖然達到的目的是一樣的,但是用 Tuple 的話可以在看方法簽章時一眼就看出回傳哪些資料,閱讀起來比較輕鬆。
如果資料沒有內聚意義或是用完即丟,我大多會選擇使用 Tuple,而不是用 class 或 struct,雖然檔案多寡不影響程式的運作,但大量的檔案無形中其實增加了維護跟開發的成本。
使用方法:
方法一:直接 new
Tuple<int, int, int> tuple = new Tuple<int, int, int>(1, 2, 3);
Console.WriteLine("Item 1: " + tuple.Item1);
Console.WriteLine("Item 1: " + tuple.Item2);
Console.WriteLine("Item 1: " + tuple.Item3);
Output:
Item 1: 1
Item 2: 2
Item 3: 3
方法二:Tuple.Create
Tuple<int, int, int> tuple = Tuple.Create(1, 2, 3);
Console.WriteLine("Item 1: " + tuple.Item1);
Console.WriteLine("Item 2: " + tuple.Item2);
Console.WriteLine("Item 3: " + tuple.Item3);
Output:
Item 1: 1
Item 2: 2
Item 3: 3