元組的概要:
數組合並了相同類型的對象,而元組合並了不同類型的對象。元組起源於函數編程語言(如F#) ,在
這些語言中頻繁使用元組。在N盯4中,元組可通過.NET Fmmework用於所有的NET語言。
.NET 4定義了8個泛型Tuple類和一個靜態Tuple類,它們用作元組的工廠。這裡的不同泛型Tuple
類支持不同數量的元素。例如,Tuple<T1>包含-個元素,Tuple<T1,T2>包含兩個元素,以此類推。
1.第一個例子
private Tuple<int, int> Divide(int dividend, int divisor)
{
int result = dividend / divisor;
int reminder = dividend % divisor;
return Tuple.Create<int, int>(result, reminder); //返回兩個相同類型元素的元組
}
--------測試-------------
private void button1_Click(object sender, EventArgs e)
{
Tuple<int, int> result = Divide(13, 2);
Console.WriteLine("result of divison:{0}," +
"reminder:{1}", result.Item1, result.Item2); //用屬性item1,item2訪問元組的項
}
-------結果-------------
result of divison:6,reminder:1
2.第二個例子
private Tuple<int, string> MyTest2(int dividend, string Name)
{
int result = dividend / 2;
string name = "Hello," + Name;
return Tuple.Create<int, string>(result, name); //返回兩個不同類型元素的元組
}
--------測試-------------
private void button2_Click(object sender, EventArgs e)
{
Tuple<int, string> result = MyTest2(13, "limin");
Console.WriteLine("result of divison:{0}," +
"Name:{1}", result.Item1, result.Item2); //用屬性item1,item2訪問元組的項
}
-------結果-------------
result of divison:6,Name:Hello,limin
3.第三個例子
如果元組包含的項超過8個,就可以使用帶8個參數的Tuple類定義。最後一個模板參數是TRest ,
表示必須給它傳遞一個元組。這樣,就可以創建帶任意個參數的元組了。
下面說明這個功能:
public class Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>
其中,最後一個模板參數是一個元組類型,所以可以創建帶任意多項的元組:
var tuple = Tuple.Create<string,string,string, int,int,int,double,
Tuple<int,int>>(
"stephanie","Alina","Nagel", 2009,6,2,1.37,
Tuple.Create<int,int> (52,3490));