- C# 4.0 推出 Tuple 為 reference type
- C# 7.0 推出 ValueTuple 為 value type
/// <summary>
/// Tuple 回傳值範例
/// item1:姓名
/// item2:年齡
/// item3:生日
/// </summary>
public Tuple<string, int, DateTime> TupleReturn()
{
return Tuple.Create("張三", 10, new DateTime(2013, 2, 28));
}
宣告並指定名稱/***** C# 4.0 Tuple *****/
// 使用 new 建立
Tuple<string, int, DateTime> person1 = new Tuple<string, int, DateTime>("張三", 10, new DateTime(2013, 2, 28));
// 使用內建靜態方法建立
var perosn2 = Tuple.Create("張三", 10, new DateTime(2013, 2, 28));
/***** C# 7.0 ValueTuple *****/
// 方法一
(string name, int age, DateTime birthday) personWithName1 = ("張三", 10, new DateTime(2013, 2, 28));
// 方法二
var personWithName2 = (name: "張三", age: 10, birthday: new DateTime(2013, 2, 28));
回傳多值
// 傳統使用 out 回傳多值
public void ReturnMultiValue(out string name, out int age, out DateTime birthday)
{
name = "張三";
age = 10;
birthday = new DateTime(2013, 2, 28);
}
// 使用 ValueTuple 回傳多值
public (string name , int age , DateTime birthday) ReturnMultiValueByValueTuple()
{
return ("張三", 10, new DateTime(2013, 2, 28));
}