out关键字如何确定在传递之前未声明的变量的范围?

问题描述 投票:0回答:1

当我调用一个带有out参数的函数,并且在调用它之前没有声明用作参数的变量时,新变量的范围是什么?

我注意到我可以这样做:

if (functionTakesOut(out int newInteger)) {
  Console.WriteLine(newInteger);
}
Console.WriteLine(newInteger);

和两个Console.WriteLine()调用都将起作用。

c# out
1个回答
1
投票

在示例中,您使用的范围为local ...因为您在声明时将其声明为通过它。

基本上与:相同

int newInteger;
if (functionTakesOut(out newInteger)) 
{
  Console.WriteLine(newInteger);
}
Console.WriteLine(newInteger);
© www.soinside.com 2019 - 2024. All rights reserved.