| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 953 人关注过本帖
标题:求助,关于listbox删除项的问题
只看楼主 加入收藏
狂砍程序
Rank: 1
等 级:新手上路
帖 子:127
专家分:0
注 册:2007-9-27
结帖率:100%
收藏
 问题点数:0 回复次数:11 
求助,关于listbox删除项的问题
我要点击清楚按扭时listbox2里面不是mp3文件就删除它,我现在的这程序能删除,但每次都是择半删除的,不是一次性删除的,帮我看下错哪了哈
private void Clear_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox2.Items.Count - 1; i++)
{
int n = listBox2.Items[i].ToString().LastIndexOf(".") + 1;
if (listBox2.Items[i].ToString().Substring(n, 3) != "mp3")
{
listBox2.Items.Remove(listBox2.Items[i]);
}
}

}
搜索更多相关主题的帖子: listbox 删除 
2007-10-01 16:02
狂砍程序
Rank: 1
等 级:新手上路
帖 子:127
专家分:0
注 册:2007-9-27
收藏
得分:0 
看了回复一下啊
2007-10-01 16:39
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
已阅.

Repeat  Life=Study;Until (death);
2007-10-01 17:07
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
[QUOTE]i < listBox2.Items.Count - 1;[/QUOTE]


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-10-01 17:15
狂砍程序
Rank: 1
等 级:新手上路
帖 子:127
专家分:0
注 册:2007-9-27
收藏
得分:0 
能告诉我这句话错哪了么,该怎么改呢?
2007-10-01 17:59
紫梦
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-7-24
收藏
得分:0 
路过一下~~~

2007-10-01 20:54
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
以下是引用狂砍程序在2007-10-1 16:02:15的发言:
我要点击清楚按扭时listbox2里面不是mp3文件就删除它,我现在的这程序能删除,但每次都是择半删除的,不是一次性删除的,帮我看下错哪了哈
private void Clear_Click(object sender, EventArgs e)
{

//假定listBox2.Items.Count 初始值为4,其中1,2(listBox2.Items[0],listBox2.Items[1])是要删除的
//当 i=0 时, listBox2.Items.Remove(listBox2.Items[0]),这时listBox2.Items.Count 值改变为3,listBox2.Items[1]成listBox2.Items[0]),而i这时自增为1
//那么,原先的listBox2.Items[1],现在的listBox2.Items[0]就跳过了
//listBox2.Items.Remove是删除一个子Item吧?如果是,就是这个原因
for (int i = 0; i < listBox2.Items.Count - 1; i++)
{
int n = listBox2.Items[i].ToString().LastIndexOf(".") + 1;
if (listBox2.Items[i].ToString().Substring(n, 3) != "mp3")
{
listBox2.Items.Remove(listBox2.Items[i]);
}
}

}


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-10-01 21:21
狂砍程序
Rank: 1
等 级:新手上路
帖 子:127
专家分:0
注 册:2007-9-27
收藏
得分:0 
太感谢你了
2007-10-02 22:21
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

注意这种不良用法

for (int i = 0; i < listBox2.Items.Count - 1; i++)

如果编译器不会对此优化的话,效率是极差的,因为每 i++ 次,就要重新 listBox2.Items.Count 一次

应该:
int listCount = listBox2.Items.Count ;
for (int i = 0; i < listCount - 1; i++)


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-10-03 11:19
沦落地球
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-9-29
收藏
得分:0 
学习学习...
2007-10-03 11:33
快速回复:求助,关于listbox删除项的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019961 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved