从文本框向C#数组添加元素
我正在努力使用C#Windows窗体将一个元素从文本框添加到数组中。到目前为止,我所拥有的:从文本框向C#数组添加元素,c#,arrays,textbox,C#,Arrays,Textbox,我正在努力使用C#Windows窗体将一个元素从文本框添加到数组中。到目前为止,我所拥有的: int[] id; private void btnButton1_Click(object sender, EventArgs e) { //INSERTION SORT int newItem = txtAddElement.text; //CODE HERE TO ADD ELEMENT TO ARRAY //CODE
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 = "";
}
已解决:
int[] id = new int[0];
无法添加到数组中。您应该使用
列表
,例如
List<int> id;
...
id.Add(123);
无法添加到数组中。您应该使用
列表
,例如
List<int> id;
...
id.Add(123);
为什么不改为使用列表呢?好的,如果单击按钮,则调用此处理程序并进行排序,但它不直接从textbox获取任何值。那么你的代码的“文本框部分”在哪里呢?我被问到的问题是使用数组,否则我不会有任何问题。我正在使用BtnadToArray控制文本框,一旦按下按钮,我希望这个按钮将项目添加到数组中,然后它将清空textbox@dragonAMC请显示此代码,因为它是相关的。为什么不使用列表来代替呢?好的,如果单击按钮,则调用此处理程序并进行排序,但它不会直接从textbox获取任何值。那么你的代码的“文本框部分”在哪里呢?我被问到的问题是使用数组,否则我不会有任何问题。我正在使用BtnadToArray控制文本框,一旦按下按钮,我希望这个按钮将项目添加到数组中,然后它将清空textbox@dragonAMC请显示此代码,因为它是相关的(一般情况下),为什么不建议重新调整数组的大小?@БСССССССö:这可能会消耗资源-数组(与
列表不同
)设计为常量大小集合。因为此逻辑已在列表中为您实现。在实现已经完成的任务时,很可能会出现错误。每次我运行程序时,数组都将为空,因此数组大小不会太大,我必须更多地展示我可以做到这一点,而不是展示什么是最有效的。谢谢你的帮助,从现在起我将正常使用列表!!啊哈,当在调整大小中添加时,它表示“对象引用未设置为对象的实例”,请参见上文(一般)为什么不建议重新调整数组的大小?@БСССццццц):这可能会消耗资源-数组(与列表
不同)设计为常量大小集合。因为此逻辑已在列表中为您实现。在实现已经完成的任务时,很可能会出现错误。每次我运行程序时,数组都将为空,因此数组大小不会太大,我必须更多地展示我可以做到这一点,而不是展示什么是最有效的。谢谢你的帮助,从现在起我将正常使用列表!!啊,当添加到调整大小中时,它表示“对象引用未设置为对象的实例”,请参见上文
int[] id;
...
Array.Resize(ref id, id.Length + 1);
id[id.Length - 1] = 123;