在C#中输入如下代码为什么输出是0

staticvoidMain(string[]args){intnowMinute=0;for(inti=0;i<=60;i++){AddMinute(nowMinute... static void Main(string[] args)
{

int nowMinute=0;
for(int i=0;i<=60;i++){
AddMinute(nowMinute);
}
Console.WriteLine(nowMinute);
}

private static void AddMinute(int nowMinute)
{
nowMinute++;
}
展开
 我来答
jdzfjfhnui
2008-11-14 · TA获得超过289个赞
知道小有建树答主
回答量:533
采纳率:0%
帮助的人:0
展开全部
int 是值类型,值类型传递是拷贝值

可以在形参前面加ref 说明为引用传递
调用的时候在是参前面也加ref 并且实参必须先初始化 这样就可以在方法里面改变其值
皇神创世
2008-11-14 · TA获得超过903个赞
知道小有建树答主
回答量:937
采纳率:0%
帮助的人:642万
展开全部
因为int是值类型,在函数中进行自增操作的其实是一个新的副本,不是原来的变量,改成按引用传递就可以了
static void Main(string[] args)
{

int nowMinute=0;
for(int i=0;i<=60;i++){
AddMinute(ref nowMinute);
}
Console.WriteLine(nowMinute);
}

private static void AddMinute(ref int nowMinute)
{
nowMinute++;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bb2ba868f
2008-11-14 · TA获得超过863个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:310万
展开全部
方法参数上的 ref 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。 若要使用 ref 参数,必须将参数作为 ref 参数显式传递到方法。ref 参数的值被传递到 ref 参数。 传递到 ref 参数的参数必须最先初始化。将此方法与 out 参数相比,后者的参数在传递到 out 参数之前不必显式初始化。 属性不是变量,不能作为 ref 参数传递。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
汾壁缘b6
2008-11-15 · 贡献了超过136个回答
知道答主
回答量:136
采纳率:0%
帮助的人:30.6万
展开全部
1.调用AddMinute方法时,传入的是一个值,而并不是这个值在内存中的空间位置
2.你在Main方法中声明的nowMinute变量只是在Main方法中,而在AddMinute方法中参数变量是重新声明的,相当于是在内存空间中重新分配了一块空间

总之,两个方法的参数传递如果是Int ,string,double float,……等等
就不会改变值,而如果你传入的是一个方法变量就可以改变

如下
static void Main(string[] args)
{

StringBuff str=new StringBuff("abc");
for(int i=0;i<=60;i++){
AddMinute(str);
}
Console.WriteLine(str.toString());
}

private static void AddMinute(StringBuff nowMinute)
{
nowMinute="ZAZ";
}

在最后输出的就是ZAZ
如果你想传递的是int,double 等等
就可以如下:
static void Main(string[] args)
{

int nowMinute=0;
for(int i=0;i<=60;i++){
AddMinute(ref nowMinute);
}
Console.WriteLine(nowMinute);
}

private static void AddMinute(ref int nowMinute)
{
nowMinute++;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式