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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马_黄开潮 中级黑马   /  2012-12-16 18:00  /  3103 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

string是值类型还是引用类型? 对于这个有点不解。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

9 个回复

倒序浏览
字符串是内建的string数据类型的对象,是引用类型

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
一开始我也不太清楚,不过我声明了一个string a="abc"; string b=a; 输出b的值。
我发现改变a的值,b的值也会改变,所以应该是引用类型

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
http://xiachanghao1990.blog.163.com/blog/static/4869602420114632835414/

这个博客里写的不错,解释的很清晰,你看看吧!我正再看,还没看懂,所以就不说啥了,你看看吧
回复 使用道具 举报
string和所有类属于引用类型   值类型包含大多数的基本类型(例如 int、double和所以所以结构)

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
楼上有人说:
一开始我也不太清楚,不过我声明了一个string a="abc"; string b=a; 输出b的值。
我发现改变a的值,b的值也会改变,所以应该是引用类型
首先 string类型是引用类型,但 string a="abc"; string b=a; 如果在改变a的值b地值是一定不会变的。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
苏波 高级黑马 2012-12-17 10:55:04
7#
当然是引用类型,在c#中,基元类型(int double等)枚举和结构都为值类型,类、字符串、接口、数组、委托等为引用类型

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
dbqwaii 中级黑马 2012-12-19 13:55:26
8#
必须是引用类型  
回复 使用道具 举报
梦ing 中级黑马 2012-12-19 16:05:35
9#
是引用类型
值类型均派生自System.valueType,如数值类型、bool、结构、枚举
引用类型派生自System.Object,如字符串、数组、类、接口等

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

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

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马