该字段永远不会被分配给,并且始终具有其默认值null
本文关键字:null 默认值 永远 字段 分配 | 更新日期: 2023-09-27 18:11:03
我目前在一个类文件中有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,但我显然有分配它们的代码。每当我尝试单击一个利用数组的按钮时,就会得到一个运行时错误。发生这种事有什么原因吗?
你需要调用
bArray = new bool[sizeOfArray];
在使用之前在代码的某个地方。此外,bool数组默认为所有false。
您没有实例化您的数组-参见http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx获取更多信息。
。
public static bool[] bArray = new bool[sizeOfArray];
public static bool[] randomRemove = new bool[sizeOfArray];
没有创建数组的实例。试着
public static bool[] bArray = new bool[54]();
public static bool[] randomRemove = new bool[sizeofarray]();
。
您需要在构造函数中或在有意义的地方初始化数组。
public class MyClass
{
public static bool[] bArray;
static MyClass()
{
bArray = new bool[54];
}
}
在你的代码中,你只分配数组中的项目,这会给你一个NullReferenceException,因为你的数组= null。您需要初始化数组