Remove &在列表框中移除
本文关键字:列表 Remove | 更新日期: 2023-09-27 18:05:55
Remove
&RemoveAt
in ListBox
?
首先,如果您有一个ListBox listBox;
,那么listBox
没有Remove
或RemoveAt
方法。应该是listBox.Items.Remove(...)
或者listBox.Items.RemoveAt(...)
。我假定您在System.Windows.Forms
中使用的是ListBox
。
现在,Remove
和RemoveAt
的区别在于,取一个项来从列表中删除,而取一个索引。
为了更清楚,让我们创建一个List<int> list = new List<int>(new int[] { 10, 20, 30, 40 });
。因为所有在c# 中都是从零开始的,所以列表中索引0处的值是10
,索引1处的值是20
,以此类推。
List
s和ObjectCollection
s一样,也有Remove
和RemoveAt
方法。在我们的简单列表中,调用list.Remove(20);
将删除它在列表中找到的第一个出现的20
。list
将以元素{ 10, 30, 40 }
结束,因为20
被删除了。
如果不是在list
上调用Remove
,而是调用list.RemoveAt(1);
,它会对列表做同样的事情。我们正在删除列表在索引1
处的元素:在本例中是20
。
我正在计算RemoveAt和Remove函数之间的差异。检查下面的代码片段:
{
while(ShowListBox.Items.Count != 0)
{
for(int i = 0; i < ShowListBox.Items.Count; i++)
{
ShowListBox.Items.Remove(ShowListBox.Items[i].ToString());
}
while (ShowListBox.Items.Count > 0)
{
ShowListBox.Items.RemoveAt(0);
}
}
}
在上面的代码中,所有的数据被删除(文本,数字和列表框中的任何符号)
当使用Remove函数RemoveAt时,此操作失败。