標籤:c#元祖tuple的案例 tuple c# 元祖
數組合并了相同類型的對象,而元祖合并了不同類型的對象,元祖起源於函數程式設計語言(F#)
NET Framework定義了8個泛型Tuple(自NET4.0)和一個靜態Tuple類,他們作用元祖的工廠,
這裡的不同泛型Tuple類支援不同數量的元素,例如:Tuple<T1>包含一個元素,Tuple<T1,T2>包含2個元素,依次類推
/* 建立者:菜刀居士的部落格
* 建立日期:2014年07月14號
*/
namespace Net.String.ConsoleApplication
{
using System;
/// <summary>
/// 元祖Tuple
/// </summary>
public class TupleDemo
{
/// <summary>
/// 方法Devide返回包含2個成員的元祖Tuple<int,int>.泛型類的參數定義了成員的類型,他們都是整數
/// 元祖用靜態Tuple類的靜態方法Create方法建立,Create方法的泛型參數定義了要執行個體化的元祖類型
/// 建立的元祖用resultA和resultB變數執行個體化
/// </summary>
public static Tuple<int,int> Devide(int a, int b)
{
int resultA = a / b;
int resultB = a % b;
return Tuple.Create(resultA, resultB);
}
/// <summary>
/// 調用Devide方法,可以用屬性Item1和Item2訪問元祖的項
/// </summary>
public static void Test()
{
var result = Devide(10, 2);
Console.WriteLine("resultA: {0},resultB: {1}", result.Item1,result.Item2);
}
//如果元祖包含的項超過8個,就可以使用8個參數的Tuple類定義,最後一個模版參數的TRest,表示必須給他傳遞一個元祖
//這樣,就可以建立任意參數的元祖
//public static Tuple<T1, T2, T3, T4, T5, T6, T7, Tuple<T8>> Create<T1, T2, T3, T4, T5, T6,
//T7, T8>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8);
}
}