首页 > 解决方案 > 为什么用非类型检查变量不是错误

问题描述

看到很多同事误用

x is true

检查变量是否为true.

无论是否有必要使用is或正确==检查布尔值是否为真,我想了解为什么这不是编译错误。

文件1 2is状态:

is 运算符检查表达式的结果是否与给定类型兼容。

AFAIKtrue不是一种类型。

有趣的是,这也适用于整数。

更新:我使用W3 提供的在线编辑器进行了尝试,它曾经是一个错误。模式匹配是否在 C# 8 中改变了这种行为?

所以在 C# 8中x is true做同样的事情(即使没有?x == true{}

标签: c#

解决方案


推荐阅读