【发布时间】:2017-10-13 12:44:27
【问题描述】:
我正在尝试将文本框和 numericUpandDown 值添加到数组中,但它似乎不起作用。
Carro []carros = new Carro[1];
private Carro carro;
public Form1()
{
..
}
private void Form1_Load(object sender, EventArgs e)
{
..
}
private void AdicionarCarro()
{
this.carro = new Carro(textboxCor.Text, textboxMarca.Text, textboxModelo.Text,
(int.Parse(numUpDownCilindrada.Text)), (int.Parse(numUpDownVelocidade.Text)));
}
private Carro[] AdicionarArray(Carro carro, Carro[] array)
{
AdicionarCarro();
int novoTamanho = array.Length + 1;
Carro[] carros = new Carro[novoTamanho];
for (int i = 0; i < array.Length; i++)
{
carros[i] = array[i];
}
carros[novoTamanho] = carro;
return carros;
}
private void buttonGravar_Click(object sender, EventArgs e)
{
AdicionarArray(carro, carros);
}
当我输入值并单击“buttonGravar”时,它给了我这个 错误:
我很高兴能得到一些提示/帮助。
【问题讨论】:
-
该数组被定义为只包含一个值,
Carro []carros = new Carro[1];这就是您收到该错误的原因 -
您忘记使用 AdicionarArray() 的返回值。这只是一个根本错误的方法,而不仅仅是因为您忘记更新 carros 变量,而是将其声明更改为
List<Carro>。