首页 >后端开发 >C++ >为什么 `Boolean.ToString()` 返回'True”和'False”而不是'true”和'false”?

为什么 `Boolean.ToString()` 返回'True”和'False”而不是'true”和'false”?

Linda Hamilton
Linda Hamilton原创
2025-01-04 02:38:43880浏览

Why Does `Boolean.ToString()` Return

为什么 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn