【问题标题】:Why am I getting a "Cannot implicitly convert type 'decimal' to 'bool'" error?为什么我会收到“无法将类型‘十进制’隐式转换为‘布尔’”错误?
【发布时间】:2010-10-04 12:21:30
【问题描述】:

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

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

但我收到此错误消息:

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

为什么会这样?

【问题讨论】:

    标签: c# conditional boolean decimal if-statement


    【解决方案1】:

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

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

    【讨论】:

    • 需要面部标签的更多证据 :)
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-03
        • 2020-08-24
        • 2015-07-24
        • 1970-01-01
        • 2015-04-12
        相关资源
        最近更新 更多