C# 7.0 - Out variables

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

1
2
3
4
5
6
7
8
9
...
string data;
GetData(out data);
...

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


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

1
2
3
...
GetData(out string data);
...


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

1
2
3
...
GetData(out var data);
...


完整的範例程式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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/)";
}
}
}


運行結果如下:


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