首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#中的参考题

C#中的参考题
EN

Stack Overflow用户
提问于 2011-08-10 13:53:52
回答 5查看 12.5K关注 0票数 7

简单地说,我使用一个while循环来重复一个方法,每次运行该方法,int "i“就会增加1,尽管我调用"NumberUp”方法有困难。错误输出如下。

主要方法:

代码语言:javascript
复制
while (true)
{
    NumberUp(0);
}

NumberUp方法:

代码语言:javascript
复制
public static void NumberUp(ref int i)
{
    i++;
    System.Console.WriteLine(i);
}

我一直收到以下错误:

“ConsoleApplication2.Program.NumberUp(Ref)”的最佳重载方法匹配有一些无效的参数

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-08-10 13:55:00

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

代码语言:javascript
复制
int x = 0;
NumberUp(ref x);
//x is now 1

这将传递对x变量的引用,从而允许NumberUp方法将一个新值放入变量中。

票数 20
EN

Stack Overflow用户

发布于 2011-08-10 13:55:51

Ref用于将变量作为引用传递。但您不是在传递变量,而是传递一个值。

代码语言:javascript
复制
 int number = 0;
 while (true)
 {
      NumberUp(ref number );
 }

应该能起作用。

票数 2
EN

Stack Overflow用户

发布于 2011-08-10 13:55:06

ref参数需要由ref传递,并需要一个变量:

代码语言:javascript
复制
int i = 0;
while (true)
{
    NumberUp(ref i);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7011926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档