Tool:Visual Studio 2017 RC
OS:Windows Server 2012
.NET Framework : 4.5.2、C# 7
C# 7 新增語法新增tuple types 與 tuple literals。可以讓C# Function回傳兩個以上的值。 以下步驟,在Visual Studio 2017 RC版,建立一個Console程式進行測試。
專案的.NET Framework的版本似乎不重要,我的專案Target Framework是設在4.5.2版。但需要在專案中要先使用NuGet Package Manager安裝套件:
Install-Package System.ValueTuple
或用圖型介面安裝:
然後就可以在專案之中,使用新語法,以下範例程式碼(B)宣告一個calc方法,回傳一個Tuple型別。(C)回傳一個Tuple Literal。(A)使用deconstructing declaration語法,將Tuple中的內容切割,按順序放到sum與count變數之中,然後印出它們的值。
using System;
using System.Linq;
namespace CS7Language
{
class Program
{
static void Main(string[] args)
{
//(A)deconstructing declaration
var (sum, count) = calc(new[] { 1, 2, 3 });
Console.WriteLine(sum);
Console.WriteLine(count);
}
static (int x, int y) calc(int[] values) //(B) return tuple type
{
return (values.Sum(), values.Length); //(C) tuple literal
}
}
}
沒有留言:
張貼留言