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

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

Linda Hamilton
发布: 2025-01-04 02:38:43
原创
908 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板