我试图在 C# 中创建一个动态数组,但我收到了一条烦人的错误消息。这是我的代码:
private void Form1_Load(object sender, EventArgs e)
{
int[] dataArray;
Random random = new Random();
for (int i = 0; i < random.Next(1, 10); i++)
{
dataArray[i] = random.Next(1, 1000);
}
}
错误:
Use of unassigned local variable 'dataArray'
这让我很困惑。我来自 VB,所以请我温柔一点,哈哈。
干杯。
最佳答案
您还没有创建数组 - 您已经声明了变量,但没有给它赋值。
请注意,数组始终具有固定大小。如果你想要一个可以不断添加的数据结构,你应该使用 List<T>
.但是,我建议一次 计算大小,而不是在循环的每次迭代中计算。例如:
private void Form1_Load(object sender, EventArgs e)
{
List<T> dataArray = new List<T>();
Random random = new Random();
int size = random.Next(1, 10);
for (int i = 0; i < size; i++)
{
dataArray.Add(random.Next(1, 1000));
}
}
当然,如果您事先计算出大小,您可以毕竟使用数组:
private void Form1_Load(object sender, EventArgs e)
{
Random random = new Random();
int size = random.Next(1, 10);
int[] dataArray = new int[size];
for (int i = 0; i < size; i++)
{
dataArray[i] = random.Next(1, 1000);
}
}
... 但请注意数组是 considered somewhat harmful .
关于c# - 无法在 C# 中创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2495352/