【发布时间】:2011-09-28 02:48:19
【问题描述】:
我面临的问题是 C# 无法将数字 1 转换为 bool。在我的情况下,(bool)intValue 不起作用。我得到一个InvalidCastException。我知道我可以使用Convert.ToBoolean(...),但我只是想知道它不起作用。对此有何解释?
我的代码是
if (actualValueType.Name == "Boolean" || setValueType.Name == "Boolean")
{
if ((bool)actualValue != (bool)setValue)
...
}
【问题讨论】:
-
int和bool在 C# 中是完全不同的东西,而 C# 以强类型语言而闻名。 -
为什么不直接写
myvar != 0? -
另外,为什么不直接检查actualValue is bool && setValue is bool?