为了账号安全,请及时绑定邮箱和手机立即绑定

值类型和引用类型的具体区别和使用时的注意事项

值类型和引用类型的具体区别和使用时的注意事项

C#
君遥 2016-06-23 13:33:10
一直很纠结他们,有没有很好的列子给解释一下啊@!            string str1 = "*^_^*";            string str2 = str1.PadLeft(6, '(');            string str3 = str2.PadRight(7, ')');            Console.WriteLine(str1);            Console.WriteLine(str3);就想像这样的 都说string时引用类型为什么str1和str3输出的值不一样啊
查看完整描述

1 回答

?
sixGod

TA贡献34条经验 获得超22个赞

String类型虽然是引用类型,但在类似string str3 = str2.PadRight(7, ')');这种赋值时,系统已经帮你new了一个新的String对象,所以str3的改动不会影响str1。

String类型是比较特别的应用类型,你用我们自己创建的类就很好理解了,如有类Student,属性stuName;

Student stu1 = new Student();

Student stu2 = stu1;

stu1.stuName = "张三";

此时stu1和stu2的stuName都是“张三”,

现在将stu1.stuName = "李四",这时stu2.stuName也会变成“李四”,但其实我们并没对stu2做任何动作

而值类型就不是这样了,如

int a = 5;

int b = a;

此时我让a=10;

但b的值还是5,不会跟着a改变


查看完整回答
3 反对 回复 2016-06-23
  • 1 回答
  • 0 关注
  • 1233 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信