黑马程序员技术交流社区

标题: string是值类型还是引用类型? [打印本页]

作者: 黑马_黄开潮    时间: 2012-12-16 18:00
标题: string是值类型还是引用类型?
string是值类型还是引用类型? 对于这个有点不解。

作者: 李先洋    时间: 2012-12-16 18:16
字符串是内建的string数据类型的对象,是引用类型
作者: 黑马丁巍    时间: 2012-12-16 18:47
一开始我也不太清楚,不过我声明了一个string a="abc"; string b=a; 输出b的值。
我发现改变a的值,b的值也会改变,所以应该是引用类型
作者: 王晨    时间: 2012-12-16 18:53
http://xiachanghao1990.blog.163.com/blog/static/4869602420114632835414/

这个博客里写的不错,解释的很清晰,你看看吧!我正再看,还没看懂,所以就不说啥了,你看看吧

作者: 罗代势    时间: 2012-12-16 21:57
string和所有类属于引用类型   值类型包含大多数的基本类型(例如 int、double和所以所以结构)
作者: 鲜学良    时间: 2012-12-17 09:55
楼上有人说:
一开始我也不太清楚,不过我声明了一个string a="abc"; string b=a; 输出b的值。
我发现改变a的值,b的值也会改变,所以应该是引用类型
首先 string类型是引用类型,但 string a="abc"; string b=a; 如果在改变a的值b地值是一定不会变的。
作者: 苏波    时间: 2012-12-17 10:55
当然是引用类型,在c#中,基元类型(int double等)枚举和结构都为值类型,类、字符串、接口、数组、委托等为引用类型
作者: dbqwaii    时间: 2012-12-19 13:55
必须是引用类型  
作者: 梦ing    时间: 2012-12-19 16:05
是引用类型
值类型均派生自System.valueType,如数值类型、bool、结构、枚举
引用类型派生自System.Object,如字符串、数组、类、接口等

作者: 刘斌    时间: 2012-12-19 16:10
String类型直接继承自Object,这使得它成为一个引用类型,也就是说线程上的堆栈上不会驻留有任何字符串。这里的“直接继承”。直接继承自Object的类型一定是引用类型,因为所有的值类型都继承自System.ValueType。值得指出的是System.ValueType却是一个引用类型




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2