关于C#的基本手册规定,要在传递给另一个方法时更改值类型,必须使用out或ref关键字等.
例如:
int Loop(int counter)
{
return(++counter);
}
void ClickIt ()
{
int count = 0;
for (int c1 = 0; c1 < 10; c1++)
{
count = Loop(count);
Console.Writeline(count);
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,ClickIt输出以下结果:1, 2, 3, 4, ... 10
在示例中,count(值类型),正在从方法传递ClickIt到方法Loop 而没有 out或ref正在被更改Loop.并且Loop然后返回count到调用方法ClickIt,其拾取的变化count.
所以,我的问题是:何时是值类型,当作为参数传递给另一个方法时,是否需要使用out或者ref可以更改该值?