我试图了解按值调用和按引用调用之间的区别。有人向我解释说,通过引用改变了实际的内存位置值,而按值调用只是改变了实例(虚拟值)而不是实际的实例。所以我试着让程序按价值和参考工作检查。我的程序无效,我是否正确实现了逻辑?
以下是已解决和正常工作的代码的修订版本。
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;
}
答案 0 :(得分:2)
您需要更改通话
application/font-sfnt
到
byRef(i);
如果你想通过引用来调用它。