C#中的ref int问题

Mat*_*hew 6 .net c# pass-by-reference

简单地说,我使用while循环来重复一个方法,每次运行该方法时,int"i"将增加1.虽然我在调用"NumberUp"方法时遇到问题.错误输出如下.

主要方法:

while (true)
{
    NumberUp(0);
}
Run Code Online (Sandbox Code Playgroud)

NumberUp方法:

public static void NumberUp(ref int i)
{
    i++;
    System.Console.WriteLine(i);
}
Run Code Online (Sandbox Code Playgroud)

我一直收到以下错误:

"ConsoleApplication2.Program.NumberUp(ref int)"的最佳重载方法匹配具有一些无效参数

SLa*_*aks 18

要调用带ref参数的方法,您需要传递一个变量,并使用ref关键字:

int x = 0;
NumberUp(ref x);
//x is now 1
Run Code Online (Sandbox Code Playgroud)

它传递对变量的引用x,允许NumberUp方法将新值放入变量中.