【问题标题】:Left hand side of assignment must a variable, property, or index赋值左侧必须是变量、属性或索引
【发布时间】:2016-02-26 22:38:31
【问题描述】:

当我将此代码输入 Visual Studio 时,我被告知:

赋值的左侧必须是变量、属性或 索引

但我输入的值是一个返回值的子程序,这通常适用于代码的其他比较部分:

   static void LuckEvent()
   {
        if (DiceRoll() = 1)
        {

        }       
        if (DiceRoll() < 1 && 4 > DiceRoll())
        {

        }
        if (DiceRoll() = 4)
        {

        }
    }

【问题讨论】:

  • 测试值时需要两个等号==。如果你只使用一个等号,你就是在做一个作业。
  • 出于好奇,您是VB还是VBA程序员?如果是这样,那么您将这些事情混淆是完全可以理解的。
  • 谢谢你的帮助,我也不是。我只是一个最近才开始接触编程的学生,我主要是一名Python程序员。
  • 自最初的 .NET 测试版以来我一直在编写 C#,但我仍然设法每周至少犯一次这个错误。

标签: c#


【解决方案1】:

= 是赋值运算符
== 是相等运算符

        static void LuckEvent()
        {
            if (DiceRoll() == 1)
            {

            }       
            if (DiceRoll() < 1 && 4 > DiceRoll())
            {

            }
            if (DiceRoll() == 4)
            {

            }
        }

【讨论】:

    【解决方案2】:

    语法

    if (DiceRoll() = 1)
    

    应该是

    if (DiceRoll() == 1)
    

    【讨论】:

      猜你喜欢
      • 2015-07-07
      • 2017-05-28
      • 2016-05-09
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 2012-07-06
      相关资源
      最近更新 更多