【发布时间】:2010-10-04 12:21:30
【问题描述】:
当 numericUpDown 的值改变时,我想隐藏一些东西,所以我写了这个:
if (numericUpDown1.Value = 1)
{
Label1.Hide();
}
但我收到此错误消息:
无法将类型“十进制”隐式转换为“布尔”
为什么会这样?
【问题讨论】:
标签: c# conditional boolean decimal if-statement
当 numericUpDown 的值改变时,我想隐藏一些东西,所以我写了这个:
if (numericUpDown1.Value = 1)
{
Label1.Hide();
}
但我收到此错误消息:
无法将类型“十进制”隐式转换为“布尔”
为什么会这样?
【问题讨论】:
标签: c# conditional boolean decimal if-statement
我想你的意思是“if (numericUpDown1.Value == 1)”。
在大多数语言中,“==”是相等性测试,而“=”是赋值运算符。
【讨论】:
您使用哪种语言与单个“=”符号一起使用?在 VB 中,您将进行比较,而在 C# 中,您将使用“if”语句分配一个数字。保护自己免受这种情况影响的一种方法是首先列出数字: if (1 = numericUpDown) 如果在该语言中允许比较并且您打算进行分配则不好。错误会跳出来!
【讨论】:
您没有进行比较(将 = 更改为 ==)...尝试:
if (numericUpDown1.Value == 1)
{
Label1.Hide();
}
【讨论】: