C#中不明白的一句话

[复制链接]
查看11 | 回复5 | 2010-7-31 15:03:22 | 显示全部楼层 |阅读模式
String是引用类型,但是如果用到了相等运算符(==和!=),则表示比较String对象(而不是引用)的值。这句话是什么意思啊?麻烦详细解释下啊,谢谢!!!

回复

使用道具 举报

千问 | 2010-7-31 15:03:22 | 显示全部楼层
C#里分 值类型和引用类型 的,但String ==和!= 表示比较string对象的值 而不是比较string对象引用的是不是同一个对象,你可以理解为是比较两个string里保存的值内容,而不是看这两个string是不是指向同一个内存地址
回复

使用道具 举报

千问 | 2010-7-31 15:03:22 | 显示全部楼层
授人以渔,你还是研究一下string 类的定义吧,尤其是== 和 != 的定义
回复

使用道具 举报

千问 | 2010-7-31 15:03:22 | 显示全部楼层
C# 中的strng类型本身是引用类型,但是string的C#中的实现机制 FlyWeight模式,这样。虽说string是引用类型,但是其实它具有值类型的属性。
回复

使用道具 举报

千问 | 2010-7-31 15:03:22 | 显示全部楼层
String是引用类型但是经常被用到微软又做特殊处理
回复

使用道具 举报

千问 | 2010-7-31 15:03:22 | 显示全部楼层
比较的是内存地址,不是比较的值
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行