【发布时间】:2020-06-07 17:41:42
【问题描述】:
当我调用一个带out参数的函数并且在调用它之前没有声明用作参数的变量时,新变量的范围是什么?
我注意到我可以这样做:
if (functionTakesOut(out int newInteger)) {
Console.WriteLine(newInteger);
}
Console.WriteLine(newInteger);
并且两个 Console.WriteLine() 调用都将起作用。
【问题讨论】:
-
这是 C# 7 的特性,您只需在使用它的地方声明 newInteger 变量,而不是声明它,例如上面一行