我有一个C# Winform和一个ListBox。我试图删除所有的项目,除了最后5个项目。ListBox排序设置为升级换代。
ListBox中的项如下所示:
2016-3-1
2016-3-2
2016-3-3
2016-3-4
...
2016-03-28下面是我删除开头项的代码。
for (int i = 0; i < HomeTeamListBox.Items.Count - 5; i++)
{
try
{
HomeTeamListBox.Items.RemoveAt(i);
}
catch { }
}我也试过HomeTeamListBox.Items.RemoveAt(HomeTeamListBox.Items[i]);
发布于 2016-03-27 23:40:37
发布于 2016-03-27 23:30:35
每次循环时,索引i都会增加一个,但是每次循环时都要删除一个元素。您要做的是在头5次传递时移除索引0处的每个元素。所以用你的电流循环
HomeTeamListBox.Items.RemoveAt(HomeTeamListBox.Items);
是你身体里想要的。
发布于 2016-03-27 23:44:27
这应该适用于你;
if(HomeTeamListBox.Items.Count > 5)
{
var lastIndex = HomeTeamListBox.Items.Count - 5;
for(int i=0; i < lastIndex; i++)
{
HomeTeamListBox.Items.RemoveAt(i);
}
}https://stackoverflow.com/questions/36253868
复制相似问题