为什么决定在解析布尔值时不接受0/1?

当解析任何整型值时,它接受要解析的数字字符串.(如果.NET能够解析字符串"一亿贰拾陆万伍仟捌佰陆拾五",我会感到惊讶).

布尔人有什么特别之处?在我的经验中,它们本质上是0为假,而非0为真.

有没有bcl方法来解析这样的字符串,如果没有,为什么?

注意:我忘记在字符串中指定"0"和"1".奇怪的是,如果已经是int,它的工作原理和我预期的一样.也许这引起了混乱.

推荐答案

0和(不是零)不等于"false"和"true",它们只是C Select 的表示形式.其他语言使用0表示true,使用-1表示false,或者完全使用其他模式.布尔值是not、0或1,它是真或假.

它是否也应该处理"是"和"否"、"关"和"开",以及所有其他类似于布尔人的事情?你的底线在哪里?

.net相关问答推荐

API响应返回null错误. NET MAUI

我的Azure应用服务从哪里获取应用设置?

查找所有源硬编码字符串

"投掷;" 是什么意思?靠自己做什么?

StreamWriter.Flush() 和 StreamWriter.Close() 有什么区别?

将 DataRowCollection 转换为 IEnumerable

哪个单元测试框架?

如何在 C# 中直接执行 SQL 查询?

如何在 C# 中将 HTML 转换为文本?

获取 .NET Framework 目录路径

如何遍历字典并更改值?

无法将文件 *.mdf 作为数据库附加

我应该在 LINQ 查询中使用两个where子句还是&&?

Double.TryParse 或 Convert.ToDouble - 哪个更快更安全?

List 和 IEnumerable 的实际区别

Linq to SQL - 返回前 n 行

如何在 Action 中传递参数?

DataGridView 在我的两个屏幕之一上的可怕重绘性能

C# 中的 F# List.map 类似功能?

.NET 委托类型的正确命名约定?