我正在努力使用C#Windows Forms从文本框中将元素添加到数组中。她到目前为止我所拥有的:
int[] id;
private void btnButton1_Click(object sender, EventArgs e)
{
//INSERTION SORT
int newItem = txtAddElement.text;
//CODE HERE TO ADD ELEMENT TO ARRAY
//CODE BELOW THEN SORTS ARRAY INTO CORRECT ORDER
int element;
int temp;
for (int i = 1; i < id.Length; i++)
{
element = i - 1;
while (element >= 0 && id[element] > id[element + 1])
{
temp = id[element];
id[element] = id[element + 1];
id[element + 1] = temp;
}
}
for (int i = 1; i < id.Length; i++)
{
lstPlayers.Items.Add(id[i]);
}
txtAddElement.Text = "";
}
我知道这个插入排序有效,因为我之前手动添加了一些值,但现在基本部分似乎正在绊倒我。
我想要的是程序使用空数组运行,如上所示,当我在txtAddElement
中输入值时,我想使用按钮btnAddToArray
将此值插入数组。例如:
如果我在txtAddElement
中输入12,然后按btnAddToArray
,我希望数组现在有1项12,如果是,那么通过{{1}添加另一个数字},让我们说7,并按下txtAddElement
按钮,我希望数组有2个值[12,7],一旦我掌握了这个,那么我需要做的就是为此添加插入排序。 / p>
错误:
CODE SNIPPET
btnAddToArray
解决:
int[] id;
private void btnLogOn_Click(object sender, EventArgs e)
{
Array.Resize(ref id, id.Length + 1); //Object reference not set to an instance of an object.
id[id.Length - 1] = Convert.ToInt16(txtLogOn.Text);
//INSERTION SORT
int element;
int temp;
答案 0 :(得分:3)
您无法添加到阵列。您应该使用ScrollViewer.VerticalScrollBarVisibility="Visible"
例如
List<T>
或重新调整数组(不推荐)
List<int> id;
...
id.Add(123);