为什么 Boolean.ToString() 返回“True”而不是“true”
.NET 中的 Boolean.ToString() 方法返回根据布尔对象的值,为“True”或“False”。这种大写的原因尚不清楚,多年来一直是猜测的主题。
MSDN 解释
根据 MSDN,Boolean.ToString() 返回常量 " True”或“False”而不是字段 TrueString 或 FalseString。这是因为 XML 区分大小写,并且 XML 规范将“true”和“false”识别为有效的布尔值。 MSDN 建议在将返回的字符串写入 XML 文件之前使用 String.ToLower() 方法将其转换为小写。
Hacky Solutions
由于这种大写,有可能是返回值与小写敏感上下文不兼容的情况。解决此问题的一个巧妙的解决方案是创建一个扩展方法,针对特定用例(例如 XML)将布尔值转换为小写。例如:
internal static string ToXmlString(this bool b) { return b.ToString().ToLower(); }
此方法向堆栈添加一个新函数,但无需在多个位置手动将字符串转换为小写。
替代方法
Boolean.ToString(IFormatProvider) 方法也存在,但其备注部分指出 IFormatProvider 参数确实不参与该方法的执行,并且不反映特定于文化的设置。因此,这种替代方法不提供任何自定义选项。
以上是为什么 `Boolean.ToString()` 返回'True”和'False”而不是'true”和'false”?的详细内容。更多信息请关注PHP中文网其他相关文章!