从列表框中搜索和删除项目
有没有办法根据字符串从列表框中删除项目?
我一直在玩几分钟,这是我到目前为止,但它不起作用
foreach(string file in LB_upload.Items) { ftp.Upload(file); int x = LB_upload.Items.IndexOf(file); LB_upload.Items.RemoveAt(x); }
我可以循环浏览每个项目,但我想做一些更优雅的事情
while(LB_upload.Items.Count > 0) { ftp.Upload(LB_upload.Items[0].ToString()); LB_upload.Items.RemoveAt(0); }
根据你的例子,我会做类似的事情;
foreach(string file in LB_upload.Items) { ftp.Upload(file); } LB_upload.Items.Clear();
您可能遇到的问题是您在迭代此列表时正在更改列表。 这是一个很大的禁忌,并且在这个网站上已经被覆盖了。
根据您问题的标题,听起来您不想删除所有项目,只需删除其中的一些项目。 如果是这样的话:
for (int i = LB_upload.Items.Count - 1; i >= 0; i--) { if (somecondition) { ftp.Upload(LB_upload.Items[i]); LB_upload.Items.RemoveAt(i); } }