在C#中
string str1 = null+false;
str1
将为"False"
和
string str2 =null+"false";
str2
将为"false"
为什么str1
与str2
不同?
答案 0 :(得分:8)
"false"
是一个字符串。 False
是一个布尔。 bool ToString()
上的False
函数返回"False"
。
答案 1 :(得分:6)
它们不同,因为案例不同。如果您使用默认的相等比较器,它将查找区分大小写的比较。
如果你想比较字符串而忽略它们的情况,你应该使用String.Compare
重载之一。
答案 2 :(得分:5)
好吧,因为false.ToString()
会给你"False"
答案 3 :(得分:5)
因为false.ToString()
返回"False"
而不是"false"
。它只是语言选择让布尔值返回的原因。
答案 4 :(得分:2)
一个是纯String
数据类型。你得到你写的东西。
其他是boolean
数据类型的值。
他们是两种不同的类型。
而false.ToString()
会向您返回"False"
。