C# 数组未在列表框中清除
C# Array not clearing in listbox
我是编程新手,无法按照我想要的方式清除列表框。发生的事情是用户能够输入一个值,这个值将被存储到一个数组中,然后该数组将被添加到一个列表框中。用户可以随时清除 array/listbox。但是,在输入一个值后,例如123 并显示在列表框上,然后使用清除按钮。然后再次输入另一个值,例如555,而不是 555 作为 lisbox 中的第一个数字,它是:0、155。如果我再次清除,然后添加另一个数字,例如1123,输出为:0、0、1123等。我似乎只清除了前面的元素,只是将数字放在下一个索引中。如何清空 array/listbox 以便我只将数字添加到第一个索引而不是让 0000...N 显示在我的列表框中。
要清除的按钮:
private void btnClear_Click(object sender, EventArgs e)
{
Array.Clear(numArray, 0, numArray.Length);
lstHoldValue.Items.Clear();
}
您可以使用 Insert(Int32, Object)
方法代替 Add()
方法将项目插入到特定索引中,例如
lstHoldValue.Items.Insert(0, numArray[i]);
最好是用新的数组内容重新绑定列表框
lstHoldValue.DataSource = numArray;
Array.Clear
方法仅将值重置为其默认值(整数情况下为 0)。
清除数组的一种快速方法是重新初始化它,即 numArray = new int[10]
来源:https://msdn.microsoft.com/en-us/library/system.array.clear(v=vs.110).aspx
问题可能是您在单击清除时没有将索引值重置为 0。我认为在清除 numArray 的代码中,您将值设置为 0 或者您正在创建另一个数组,但请记住索引仍然是清除之前的任何值。如果没有,那么 post 你的清算代码,我可以帮忙。
我刚看到你的清算代码,这就是原因。将此添加到您的清除代码中:
this.index = 0;
我是编程新手,无法按照我想要的方式清除列表框。发生的事情是用户能够输入一个值,这个值将被存储到一个数组中,然后该数组将被添加到一个列表框中。用户可以随时清除 array/listbox。但是,在输入一个值后,例如123 并显示在列表框上,然后使用清除按钮。然后再次输入另一个值,例如555,而不是 555 作为 lisbox 中的第一个数字,它是:0、155。如果我再次清除,然后添加另一个数字,例如1123,输出为:0、0、1123等。我似乎只清除了前面的元素,只是将数字放在下一个索引中。如何清空 array/listbox 以便我只将数字添加到第一个索引而不是让 0000...N 显示在我的列表框中。
要清除的按钮:
private void btnClear_Click(object sender, EventArgs e)
{
Array.Clear(numArray, 0, numArray.Length);
lstHoldValue.Items.Clear();
}
您可以使用 Insert(Int32, Object)
方法代替 Add()
方法将项目插入到特定索引中,例如
lstHoldValue.Items.Insert(0, numArray[i]);
最好是用新的数组内容重新绑定列表框
lstHoldValue.DataSource = numArray;
Array.Clear
方法仅将值重置为其默认值(整数情况下为 0)。
清除数组的一种快速方法是重新初始化它,即 numArray = new int[10]
来源:https://msdn.microsoft.com/en-us/library/system.array.clear(v=vs.110).aspx
问题可能是您在单击清除时没有将索引值重置为 0。我认为在清除 numArray 的代码中,您将值设置为 0 或者您正在创建另一个数组,但请记住索引仍然是清除之前的任何值。如果没有,那么 post 你的清算代码,我可以帮忙。
我刚看到你的清算代码,这就是原因。将此添加到您的清除代码中:
this.index = 0;