2

在 C# 中

  string str1 = null+false;

str1将会"False"

   string str2 =null+"false";

str2将会"false"

为什么str1不同str2

4

5 回答 5

8

"false"是一个字符串。False是一个布尔值。ToString()bool 上的函数False返回"False".

于 2012-12-17T18:35:15.910 回答
5

它们是不同的,因为情况不同。如果您使用默认的相等比较器,它将查找区分大小写的比较。

如果要比较字符串但忽略它们的大小写,则应使用其中一种String.Compare重载。

于 2012-12-17T18:34:46.783 回答
5

好吧,因为false.ToString()给你"False"

于 2012-12-17T18:35:16.737 回答
5

因为false.ToString()返回"False"而不是"false"。这只是语言选择返回布尔值的方式。

于 2012-12-17T18:35:37.247 回答
2

一种是纯String数据类型。你得到你所写的。其他是boolean数据类型的值。

它们是两种不同的类型。

false.ToString() 回报你"False"

于 2012-12-17T18:44:09.660 回答