C#语言中 ref的作用是什么?10分!~

ref的作用是什么呢? 值类型就不用说了!~如果引用类型加上ref的话为什么形参的地址指向别的地址实参也会变!~高手来下吧!~如果回答ref只是起一个引用作用的... ref的作用是什么呢? 值类型就不用说了 !~如果引用类型加上ref的话 为什么 形参的地址指向别的地址 实参也会变!~ 高手来下吧!~ 如果回答ref只是起一个引用作用的话就别回答啦!~嘿嘿!~ 展开
 我来答
lzsmi99321
2011-10-24 · TA获得超过147个赞
知道答主
回答量:210
采纳率:0%
帮助的人:180万
展开全部
ref 的存在是为了传地址。就是c的指针。所以值参数加上ref就能 在函数中改变原来得值变量。
一般的引用变量就是加不加ref都无所谓。但是当调用函数中有new就不一样了。
传指针的原理是,你传的是地址,然后在函数里面操作那个地址指向的内容的值,所以修改后,结果保留。
但是如果不加ref,传过去的引用跟值类型一样,被new之后指向新的地址为某一值的一块地址,如果是值传递一样,函数里面其实操作的是引用中存储的地址,所以new操作对原来的引用变量无效。
加ref 相当于引用的引用,地址的地址,new后指向新的地址空间,原来的内存泄漏。ref 相当于&
七终多E
2011-10-23 · TA获得超过1.4万个赞
知道大有可为答主
回答量:3756
采纳率:46%
帮助的人:3449万
展开全部
ref就相当于C++里面的指针
int a = 0;

int Add(int p)
{
return p + 1;
}

Add(a) ; //a还是0
int Add(ref int p)
{
return p + 1;
}
Add(ref a); //a变成1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
surplushaode
2011-10-23 · TA获得超过2055个赞
知道大有可为答主
回答量:2510
采纳率:0%
帮助的人:2390万
展开全部
首先你要知道引用是什么意思,引用就是应用地址,当修改地址里面的值得时候,你说会不会修改它的具体实参值呢。。
这就类似于C里面的指针的。就是这样的一个过程的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式