out变量声明是C#7.0的新特性之一。
根据out变量声明,你可以在向out参数传递值的同时声明实参变量。

在通常情况下,你会提供out修饰符,然后是实参变量名。
现在,在out和实参变量名之间,你需要添加类型来声明实参变量。这里不需要初始化实参变量,因为在方法执行结束时,形参的值会自动赋值给实参。因此,无需手动初始化实参变量。这种通过提供类型名称来声明实参变量的能力是C#7.0的新特性。其余过程与out修饰符相同。
示例:在现有代码中,首先你声明了一个变量p,然后将该变量传递给out参数。借助out变量声明,你可以在out的同一行直接声明p变量。因此无需在调用方法前声明实参变量。而在接收部分,即out参数处,没有任何区别。与以往一样,形参的值将被赋值回给实参变量p,因此,预期输出依然是10.45,我们得到了相同的结果。
public void CalculateTax(out double percentage)
{
percentage = 10.45;
//create local variable
double t;
//calculate tax
if (cost <= 20000)
{
t = cost * 10 / 100;
}
else
{
t = cost * percentage / 100;
}
tax = t;
}
//out 原来的写法
double p;
product2.CalculateTax(out p);
Console.WriteLine("p is"+p);
//out 现在的写法
product2.CalculateTax(out double p);
Console.WriteLine("p is" + p);
&spm=1001.2101.3001.5002&articleId=150579451&d=1&t=3&u=f954fe47e7ef49109fe2c4408a50bc47)
1099

被折叠的 条评论
为什么被折叠?



