当我调用一个带有out参数的函数,并且在调用它之前没有声明用作参数的变量时,新变量的范围是什么?
我注意到我可以这样做:
if (functionTakesOut(out int newInteger)) {
Console.WriteLine(newInteger);
}
Console.WriteLine(newInteger);
和两个Console.WriteLine()调用都将起作用。
在示例中,您使用的范围为local
...因为您在声明时将其声明为通过它。
基本上与:相同
int newInteger;
if (functionTakesOut(out newInteger))
{
Console.WriteLine(newInteger);
}
Console.WriteLine(newInteger);