【问题标题】:Not all code routes produce a value, with a procedure I am sure it produces always something. C#并不是所有的代码路由都会产生一个值,我确信它总是会产生一些东西。 C#
【发布时间】:2014-01-07 20:07:30
【问题描述】:

我在 C# 中使用一个过程,该过程具有一个结构数组 M 作为输入,并且必须获得一个 2x2 表并进行一些计算。 TablaContingencia 的尺寸是 2x2(不可能有更大的尺寸)。

使用 int[,] TablaContingencia = new int[2, 2]; 我得到“并非所有代码路由都获得值” 使用 int[,] TablaContingencia = new int[1, 1] {{0,0},{0,0}}; 我得到“预期长度为 1 的矩阵初始化”。

救命!

        public static int[,] TablaContingencia(MAnalitica[] M)
    {
        int[,] TablaContingencia = new int[2, 2]; //Inicializes with size 2x2
        int categ = M.GetLength(0);
        for (int m = 0; m <= categ - 1; m = m + 1)
        {
            int k = M[m].P;
            int Pr0 = Convert.ToInt16(M[m].Conteo * (1 - M[m].PCliente));
            int Pr1 = Convert.ToInt16(M[m].Conteo * M[m].PCliente);
            TablaContingencia[k, 0] = TablaContingencia[k, 0] + Pr0;
            TablaContingencia[k, 1] = TablaContingencia[k, 1] + Pr1;

        }
    }

【问题讨论】:

  • 您没有return 声明。

标签: c# arrays struct size


【解决方案1】:

试试这个:=)

    public static int[,] TablaContingencia(MAnalitica[] M)
    {
      int[,] TablaContingencia = new int[2, 2]; //Inicializes with size 2x2
      int categ = M.GetLength(0);
      for (int m = 0; m <= categ - 1; m = m + 1)
      {
        int k = M[m].P;
        int Pr0 = Convert.ToInt16(M[m].Conteo * (1 - M[m].PCliente));
        int Pr1 = Convert.ToInt16(M[m].Conteo * M[m].PCliente);
        TablaContingencia[k, 0] = TablaContingencia[k, 0] + Pr0;
        TablaContingencia[k, 1] = TablaContingencia[k, 1] + Pr1;

       }
       return TablaContingencia;
   }

【讨论】:

  • 不错!我忘记了退货声明。谢谢
猜你喜欢
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多