我怎样才能解决这个错误为int [] numArray有关?

问题描述 投票:0回答:2

这里是抛出一个编译器错误,我一个示例代码,我不知道如何解决它。错误是“局部变量NumArray可能无法访问之前被初始化”。我知道,我使用的旧VB utils的CopyArray方法。想修正这个错误,并有解决方案使用C#Array.Copy方法。

int[] numArray = { };

for (int i = 0; i <= num7; i++)
{

   If(!somecondition)
     {
        path = @"no";
     }
     else
     {
        path = @"yes";
        index++;
        ((int[])Utils.CopyArray(numArray, new int[index + 1]))[index] = i;
     }
}
c# .net
2个回答
0
投票

您正确声明numArray。正确的方法是:

int[] numArray = new int[] {};

在C#中数组是对象,因此当初始化时,他们必须调用构造函数的。


0
投票

这个问题可能是你忘了处理CopyArray的返回值是新的数组。

因此,更改此行

   ((int[])Utils.CopyArray(numArray, new int[index + 1]))[index] = i;

为此:

   numArray= (int[]) Utils.CopyArray(numArray, new int[index + 1]);
   numArray[index] = i;

这是假设Utils.CopyArray做什么模样。虽然林不知道为什么有人甚至会使用,当我们媒体链接有Array.Copy

© www.soinside.com 2019 - 2024. All rights reserved.