A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 boy_AND_gou 于 2014-4-28 23:30 编辑

.为什么用类传递就可以传值,用Int, string类型不可以

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

4 个回复

倒序浏览
我猜测你的传值应该是在函数里吧,类是因为他有独立的存储空间,你可以直接对他进行操作
而在函数内部参数是不影响外部参数的
想要达到你的效果,可以把参数换成ref,比如aaa(ref string a ,ref string b)这样调用的话,a和b的修改会影响到外面的变量
回复 使用道具 举报
类是引用类型的,是放在堆空间的,传值的时候传递的是它的地址,而int/string放在栈空间,传值的时候是传的大小,是拷贝传递,你可以用ref来实现,
回复 使用道具 举报
continue  发表于 2014-4-27 08:47
类是引用类型的,是放在堆空间的,传值的时候传递的是它的地址,而int/string放在栈空间,传值的时候是传的 ...

stirng是引用类型吧
回复 使用道具 举报
boy_AND_gou 发表于 2014-4-27 11:20
stirng是引用类型吧

是引用,不过在传值的时候,很多时候它是当做值类型传递的,函数调用的时候采用的是浅层拷贝来传送的,只是传值不传递引用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马