c#中的Ref问题

本文关键字:问题 Ref 中的 | 更新日期: 2023-09-27 18:04:57

简单地说,我正在使用while循环来重复一个方法,每次运行该方法时,int " I "将增加1。虽然我有麻烦调用"NumberUp"方法。错误输出如下:

主要方法:

while (true)
{
    NumberUp(0);
}

NumberUp方法:

public static void NumberUp(ref int i)
{
    i++;
    System.Console.WriteLine(i);
}

我一直得到以下错误:

最好的重载方法匹配ConsoleApplication2.Program。NumberUp(ref int)'有一些无效参数

c#中的Ref问题

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

int x = 0;
NumberUp(ref x);
//x is now 1

引用传递给x变量,允许NumberUp方法将新值放入变量中。

Ref用于传递变量作为引用。但是你传递的不是一个变量,而是一个值。

 int number = 0;
 while (true)
 {
      NumberUp(ref number );
 }

ref参数需要通过ref传递,并且需要一个变量:

int i = 0;
while (true)
{
    NumberUp(ref i);
}

必须在包含0的变量中传递0作为引用,例如:

int i = 0;
NumberUp(ref i);

在MSDN阅读更多关于ref关键字的信息。

ref

NumberUp(ref number );