我试图理解按值调用和按引用调用之间的区别。有人向我解释说,按引用更改实际的内存位置值,而按值调用仅更改实例(虚拟值),而不更改实际的实例。因此,我试图使该程序检查按值和按引用工作的方式。我的程序无法运行,我是否正确实现了逻辑?
这是已解决的有效代码的修订版。
static void Main(string[] args)
{
Program pro = new Program();
int i = 1;
Console.WriteLine("Call By Value: ");
pro.byVal(i);
Console.WriteLine(i);
Console.ReadKey();
Console.WriteLine("\n\n\nCall By Reference: ");
pro.byRef(ref i);
Console.WriteLine(i);
Console.ReadKey();
}
public void byVal(int i) //******* Call by Value *******//
{
i = 2;
}
public void byRef(ref int i) //******* Call by Refrence *******//
{
i = 3;
}
您需要更改通话
byRef(i);
至
byRef(ref i);
如果您想通过引用来调用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句