1)
先說組元:一個數據結構,由通過逗號分割的,用於傳遞給一個程序或者操作系統的一系列值的組合。
NET Framework 直接支持一至七元素的元組
Tuple
//一個元素的元組
Tuple test = new Tuple(34);
//兩個元素的元組 1 test2 = Tuple.Create("str", 2);
Tuple test2_1 = new Tuple(2,2);
//8個元素的元組(注意,Tuple<類型...>: 基本"類型"最多7個, 第八個元素類型必須也為元組)
Tuple> test3 =
new Tuple>(1, 2, 3, 4, 5, 6, 7, new Tuple(8));
//也可以這樣
Tuple> test_i_i_Tii = new Tuple>(1,1,new Tuple(2,3));
Console.WriteLine(test.Item1);
Console.WriteLine(test2.Item1 + test2.Item2);
Console.WriteLine(test2_1.Item1 + test2_1.Item2);
Console.WriteLine(test3.Item1 + test3.Item2 + test3.Item3 + test3.Item4 + test3.Item5 + test3.Item6 + test3.Item7 + test3.Rest.Item1);
結果:
namespace TupleDemo
{
class Program
{
static void Main(string[] args)
{
//使用out拿到多個返回值
string outparam = "";
int returnvalue = FunOutParamDemo(out outparam);
Console.WriteLine(returnvalue + " " + outparam);
//使用元組拿到多個返回值
Tuple r = FunTupleParamDemo();
Console.WriteLine(r.Item1 + " " + r.Item2);
Console.Read();
}
///
/// out關鍵字,實現返回兩個返回值
///
///
///
public static int FunOutParamDemo(out string o)
{
o = "returnValue";
return 10;
}
///
/// 使用元組實現【間接】返回【兩個】返回值
///
///
public static Tuple FunTupleParamDemo() {
return new Tuple(10, "returnValue");
}
}
}
運行結果: