为什么我得到“无法隐式转换类型'十进制'到'bool'”错误?

时间:2009-01-30 16:35:06

标签: c# conditional boolean decimal if-statement

我希望在更改numericUpDown的值时隐藏一些内容,所以我写了这个:

if (numericUpDown1.Value = 1)
{
    Label1.Hide();
}

但我收到此错误消息:

  

无法隐式将“十进制”类型转换为“bool”

为什么会这样?

3 个答案:

答案 0 :(得分:9)

我认为你的意思是“if (numericUpDown1.Value == 1)”。

在大多数语言中,“==”是对相等性的测试,而“=”是赋值运算符。

答案 1 :(得分:2)

您没有进行比较(更改 =到== )...尝试:

if (numericUpDown1.Value == 1)
{
    Label1.Hide();
}

答案 2 :(得分:2)

您使用哪种语言使用单个“=”符号?在VB中,您将进行比较,在C#中,您将使用“if”语句分配一个数字。保护自己的一种方法是首先列出数字:if(1 = numericUpDown),如果在该语言中允许比较并且您打算进行分配,则会很好。这个错误会跳出来!