【问题标题】:Method return error方法返回错误
【发布时间】:2014-04-11 04:58:52
【问题描述】:

您好,我在 return avg 时遇到错误;如果有人可以帮助我解决我的问题,请说返回键后面不能跟对象表达式,我非常感谢。

    static void Pos(int[] array)
    {
        Random rand = new Random();
        float sum = 0;
        int counter = 0;
        for (int i = 0; i < array.Length; i++)
        {
            array[i] = rand.Next(-100, 100);
            if(sum >= 0)
            {
                sum += array[i];
                counter++;
            }
            float avg = sum / counter;
            return avg; <<< error?
        }
    }

【问题讨论】:

    标签: c# arrays methods return-type


    【解决方案1】:

    你不能返回任何东西,因为你的返回类型是void

    将此static void Pos(int[] array) 更改为static float Pos(int[] array)

    而且你可能会得到“不是所有的代码路径都返回”;

    这样做:

    static float Pos(int[] array)
        {
            Random rand = new Random();
            float sum = 0;
            int counter = 0;
            float avg;
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = rand.Next(-100, 100);
                if(sum >= 0)
                {
                    sum += array[i];
                    counter++;
                }
                avg = sum / counter;
            }
            return avg;
        }
    

    【讨论】:

    • 我这样做了,然后我在 static void >>> Pos
    【解决方案2】:

    您使用的 void 不允许您返回任何内容。

    【讨论】:

      【解决方案3】:

      你的方法的返回类型是void,你正在从它返回一个值。

      这样做:

      static float Pos(int[] array)
      {
          Random rand = new Random();
          float sum = 0;
          int counter = 0;
          float avg = 0;
          for (int i = 0; i < array.Length; i++)
          {
              array[i] = rand.Next(-100, 100);
              if(sum >= 0)
              {
                  sum += array[i];
                  counter++;
              }
              avg = sum / counter;
      
          }
          return avg;
      }
      

      当您将返回类型设置为void时,表示您不希望该方法返回任何内容。

      【讨论】:

      • I did give me static void >>> Pos
      • 在for循环外返回表单
      猜你喜欢
      • 1970-01-01
      • 2012-03-07
      • 2020-08-10
      • 2014-07-17
      • 2016-02-01
      • 2011-04-24
      • 1970-01-01
      • 2021-09-15
      • 2018-03-10
      相关资源
      最近更新 更多