从文本框

时间:2015-11-25 12:27:22

标签: c# arrays textbox

我正在努力使用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;

1 个答案:

答案 0 :(得分:3)

您无法添加到阵列。您应该使用ScrollViewer.VerticalScrollBarVisibility="Visible"例如

List<T>

重新调整数组(不推荐)

  List<int> id;
  ...

  id.Add(123);