2017-10-10 116 views
2

我試圖在.NET 4.5.2應用程序中使用'out參數',但出現編譯錯誤。在調用方法時放置「out type」聲明

問題: 在哪個框架可以編譯? 這是叫什麼? out方法調用中的內聯變量聲明?

您能否提供一個參考?

編號:https://www.dotnetperls.com/parse

新出的語法:我們可以直接放在了 「OUT INT」 關鍵字 方法調用中。老版本的C#不允許使用這種語法。但是這個 可以減少程序的行數。

static void Main() 
{ 
    const string value = "345"; 
    // We can place the "out int" declaration in the method call. 
    if (int.TryParse(value, out int result)) 
    { 
     Console.WriteLine(result + 1); 
    } 
} 

回答

4

這需要C# version 7附帶的Visual Studio 2017年

該功能被稱爲 「走出變量」。

在C#7.0中我們添加了變量;的能力,在其被作爲out參數傳遞的點聲明一個 變量右:

public void PrintCoordinates(Point p) 
{ 
    p.GetCoordinates(out int x, out int y); 
    WriteLine($"({x}, {y})"); } 
} 

更多文檔可以發現here

+0

它被稱爲:'** inline ** out variables'。 – Odrai

+1

@Odrai [C#7語言草稿](https://www.ecma-international.org/activities/Languages/C%20sharp%20Standard%20WD3.16.pdf)不同意。見第119頁,第3段。另外[this](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7#out-variables)。並不是確切的名字是非常重要的。 –

+1

感謝您的鏈接和信息。我通常使用關鍵字'inline'來澄清'正常'/'舊'out聲明和使用內聯聲明之間的區別。它更像是下面一行的縮寫:「你可以聲明* inline * out值作爲它們被使用的方法的參數。」 – Odrai