在 C# 中
string str1 = null+false;
str1
将会"False"
和
string str2 =null+"false";
str2
将会"false"
为什么str1
不同str2
?
"false"
是一个字符串。False
是一个布尔值。ToString()
bool 上的函数False
返回"False"
.
它们是不同的,因为情况不同。如果您使用默认的相等比较器,它将查找区分大小写的比较。
如果要比较字符串但忽略它们的大小写,则应使用其中一种String.Compare
重载。
好吧,因为false.ToString()
给你"False"
因为false.ToString()
返回"False"
而不是"false"
。这只是语言选择返回布尔值的方式。
一种是纯String
数据类型。你得到你所写的。其他是boolean
数据类型的值。
它们是两种不同的类型。
并false.ToString()
回报你"False"
。