C#关于的简单问题
来源:百度知道 编辑:UC知道 时间:2024/06/29 00:32:50
static void Add(int i)
{
i++;
}
static void AddWithRef(ref int i)
{
i++;
}
当我调用Add(i1);和Add(c.i);结果有什么不同?为什么?
{
i++;
}
static void AddWithRef(ref int i)
{
i++;
}
当我调用Add(i1);和Add(c.i);结果有什么不同?为什么?
有的朋友说错了吧
这两个都是无返回类型的
只不过里面执行的操作意义不同,要区别他们对同一个数的影响才是
第一个,传值,对原参数i没有影响
第二个,reference,传过去的是一个引用,会直接修改原i的值
用C语言来说,一般数组作为函数的参数就类似第二个
class RefExample
{
static void Method(ref int i)
{
i = 44;
}
static void Main()
{
int val = 0;
Method(ref val);
// val is now 44
}
}
第二个是引用传递
第一个返回 i
第二个返回 i+1
一个是传递值,另外一个是传递变量
这是一个百度hi的讨论群,你有兴趣的话加入.
如果i的值为1的话.。
;则Add()这个方法返回1
;第二则返回i+1;