C# object转换类型问题

stringstr="thisisastring.";stringstrCopy=string.Copy(str);booltestbool=((object)str==... string str = "this is a string.";
string strCopy = string.Copy(str);
bool testbool = ((object)str == (object)strCopy);
Console.WriteLine(testbool);
为什么是false
展开
 我来答
宣义坊的大蚂蚁
2008-11-05 · TA获得超过2830个赞
知道大有可为答主
回答量:1617
采纳率:90%
帮助的人:877万
展开全部
对于Object来说,有值相等和引用相等两种,在你的例子中str和strCopy是值相等而不是引用相等,因为str和strCopy是两个不同的对象,存在内存不同的地址,所以他们不是引用相等;str和strCopy的值都是"this is a string.",所以他们是值相等的。
判断引用相等用==,判断值相等用Equals(object)。
christiankula
2008-11-05 · TA获得超过1007个赞
知道小有建树答主
回答量:1275
采纳率:0%
帮助的人:0
展开全部
两个内存地址吧,string是引用类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fiona_yinying
2008-11-05
知道答主
回答量:33
采纳率:0%
帮助的人:23.6万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
meteortent
2008-11-05 · TA获得超过518个赞
知道小有建树答主
回答量:870
采纳率:0%
帮助的人:732万
展开全部
C#中的String 有点特殊,可以到网上搜一下,有很详细的描述,简单来说同意 kadbbz 的答案,如果用指针来说的话,就是两个对象指向不同的内存地址,呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式