2

当 numericUpDown 的值改变时,我想隐藏一些东西,所以我写了这个:

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

但我收到此错误消息:

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

为什么会这样?

4

3 回答 3

9

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

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

于 2009-01-30T16:39:30.003 回答
2

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

if (numericUpDown1.Value == 1)
{
    Label1.Hide();
}
于 2009-01-30T16:41:24.693 回答
2

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

于 2009-01-30T16:46:21.533 回答