C#的ref和
展开全部
这里楼主要知道区分值传递和引用传递。
值传递:是把我的值拿给你,你去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其实指向的是同一个对象
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询