C# 7.0 以前使用的方法若有 Out 參數,需要事先宣告才能帶入使用。

...
string data;
GetData(out data);
...

static void GetData(out string data)
{
...
}

C# 7.0 以後,可以在帶入 Out 參數時直接順帶宣告。

...
GetData(out string data);
...

也可以結合使用區域型別推斷。

...
GetData(out var data);
...

完整的範例程式如下:

using System;

namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
GetData(out string data);
//GetData(out var data);
Console.WriteLine($"{data}");
}

static void GetData(out string data)
{
data = "Level Up (http://larrynung.github.io/)";
}
}
}

運行結果如下:

1.png

反組譯查看一下,這功能也只是在編譯時幫我們做掉了參數宣告的動作。

2.png