Boolean.ToString 输出中的大小写差异
在 .NET 中,Boolean.ToString() 方法将布尔值转换为字符串,对于 true 返回“True”,对于 false 返回“False”。这种大小写区别引起了问题,特别是在与 XML 或 C# 的 true/false 关键字的兼容性至关重要的情况下。
MSDN 的解释
根据 MSDN,Boolean.ToString( ) 返回常量“True”或“False”,而不是字段 TrueString 或 FalseString。此方法不区分大小写,与 XML 不同,XML 需要“true”和“false”作为布尔值。
意外行为
尽管文档声明 XML需要小写布尔值,ToString() 方法返回大写值。此行为可能会导致兼容性问题,并且需要在 XML 应用程序中使用 ToLower() 等方法进行手动转换。
底层实现
更令人困惑的是,Boolean.ToString( IFormatProvider)也表现出特殊的行为。提供者参数是保留的,对方法的执行没有影响,尽管在其他依赖于提供者的方法中是常见做法,但它本质上毫无用处。
解决方案
这种差异的解决取决于具体情况。但是,它通常涉及部署解决方法,例如更新部分中提供的自定义 ToXmlString() 方法,该方法在返回用于 XML 使用的字符串之前将布尔值转换为小写。
以上是为什么 .NET 的 `Boolean.ToString()` 返回大写的'True”和'False”?的详细内容。更多信息请关注PHP中文网其他相关文章!