我目前在
定义的类文件中有2个bool数组public static bool[] bArray;
public static bool[] randomRemove;
我这样填写bArray
public static void fillArray()
{
for (int x = 0; x < 54; x++)
{
bArray[x] = false;
}
}
我这样填写randomRemove
for (int i = 0; i < sizeOfArray; i++)
{
randomRemove[i] = false;
}
其中sizeOfArray
是我使用的字符串数组的长度。
我对每个bool数组都有两个警告,表示它们从未被分配给它,并且它的默认值总是为null但我显然有代码分配它们。每当我尝试单击使用数组的按钮时,我都会遇到运行时错误。这有什么原因吗?
答案 0 :(得分:5)
您需要致电
bArray = new bool[sizeOfArray];
在您使用它们之前,在代码中的某处。此外,bool数组默认为所有falses。
答案 1 :(得分:1)
您没有实例化数组 - 有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx。
e.g。
public static bool[] bArray = new bool[sizeOfArray];
public static bool[] randomRemove = new bool[sizeOfArray];
答案 2 :(得分:0)
您没有创建数组的实例。试试
public static bool[] bArray = new bool[54]();
public static bool[] randomRemove = new bool[sizeofarray]();
代替。
答案 3 :(得分:0)
您需要在构造函数中初始化数组或在有意义的地方初始化数组。
public class MyClass
{
public static bool[] bArray;
static MyClass()
{
bArray = new bool[54];
}
}
在您的代码中,您只分配数组中的项,这将为您提供NullReferenceException,因为您的array = null。您需要初始化数组。