C#的ref和

 我来答
纲惠0Bb
2016-12-21 · 超过15用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:24.6万
展开全部

这里楼主要知道区分值传递和引用传递。

值传递:是把我的值拿给你,你去copy成一个新的变量,这两个变量相互不会干涉

引用传递:是把我的地址(c中的指针)给你,你用我给你的地址来操作这个对象,其实最终操作的都是同一个对象,其中一个改变了,另一个也会改变。


基本类型用的是值传递

类用的是引用传递


下面举例说明把

先试试不使用ref



看看输出结果:


这里因为变量a为简单类型,使用的是值传递,把变量a的值传递到方法Change中,Main方法中的变量a和Change方法中的变量a是两个独立的对象,所有改变了Change中a的值是不会影响Main方法中变量a,所以Main中a的值还是为1


下面使用ref


输出结果


这里可以看到Main中的变量a已经改变了,这是因为使用了ref,传递的是变量的地址,Main方法中的a和Change方法中a其实指向的是同一个对象

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式