我很努力使用C#Windows窗體將文本框中的元素添加到數組中。她是我到目前爲止有:從文本框中向C#數組添加元素
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
插入這個值到數組中。例如:
如果i型12插入txtAddElement
,然後按btnAddToArray
,我想在數組中現在有項目12 1,如果是是隨後經由txtAddElement
添加另一個號碼,讓說7,然後按btnAddToArray
按鈕,我想要數組然後有2個值[12,7],一旦我掌握了這一點,那麼我需要做的就是添加插入排序。
錯誤:
代碼片段
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;
解決:
int[] id = new int[0];
你爲什麼不使用列表呢? –
Jehof
好的,如果按鈕被點擊,那麼這個處理程序被調用和排序工作,但它不直接從文本框中取得任何值。那麼你的代碼的'文本框部分'在哪裏? – Fabjan
我被問到的問題說使用數組,否則我將沒有問題與此 – dragonAMC