private void button6_Click(object sender, EventArgs e) { CloseError(); for (int i = 0; i < listBox1.Items.Count-1; i++) { for (int j = i + 1; j < listBox1.Items.Count; j++) { string itemi = listBox1.Items[i].ToString(); string itemj = listBox1.Items[j].ToString(); if (itemi == itemj) { this.listBox1.Items.Remove(listBox1.Items[j]); button6_Click(null,null); } } }
}
不知道你freamwork版本有没有到3.5 以上,大体测试了一下,
第一种方式,跟你的代码基本一个思路,不过稍微优化了一下:
private void button1_Click(object sender, EventArgs e)这中方式速度最慢,我用20000笔资料的时候,用时差不多9000多毫秒
第二种方式,是通过建立一个Dictonary对象来缓存以出现过的值,在循环过程中把所有包含在缓存中的项都删除:
这种方式速度快了一些,20000笔资料的时候,用时大概不到7000毫秒
第三种方式:用LINQ查询实现(这个可能就需要framework3.5以上版本了):
private void button3_Click(object sender, EventArgs e)从目前的测试结果看,好像就是这种方式最快,20000笔资料的时候,用时约300毫秒
大概就这样,测试的代码已经打包放到附件里了,需要的自己下载了测测看!
去掉过后点一次清除不完 得多清几次
C#里我写了一段清除ListBok里面重复的项的代码,但是不够简洁,数据量大...
第二种方式,是通过建立一个Dictonary对象来缓存以出现过的值,在循环过程中把所有包含在缓存中的项都删除:private void button2_Click(object sender, EventArgs e){ ListBox.ObjectCollection items = this.listBox1.Items; Dictionary exstis = new Dictionary(); for (int i = count -...
...还有就是看不懂里面的代码 需要怎样去学 谢谢!
printf("列表是否为空 %d\\n", list_empty(&my_list_head)); return 0; } C语言写的经典代码经常会用这种“过度简洁”的语法,初学之后会看得云里雾里的。如果你能看懂,又会有一个更大的问题——这个list_head结构体里面,没有数据。自定义数据应该放在哪呢?这又需要深一步研究了。 稍微高深点的比如任意...
如何解决C#中_system~.ini文件缺失问题?
答:如果要输入的生僻字在cad字库里不存在,常用的解决办法是把该文字做成一个图块,然后给它定义一个编码,做成一个符号来解决。8、cass的注册命令是?答:cass试用版注册成正式版的命令是:regi 关注并星标《测绘之家》微信公众号,获取更多测量技术干货!9、如何在cass中设置点的样式?答:在AutoCAD和cass中,设置点样式...
java学习路线
Java学习路线一般有以下几个阶段:第一阶段,JavaSE基础:Java环境搭建、Java流程控制语句-for循环、switch选择判断、循环嵌套、数组拷贝等。第二阶段,JavaWeb:MySQL安装、管理、创建数据库、MySQLUPDATE查询、Mysql高级操作等。第三阶段,Java高级框架-SSH:Struts2异常处理、Struts2+Log4j集成、Struts2和JSO...
我的电脑里的java程序是不是重复了?系统是64位的,那个后缀是24的是...
不能,一个对象的一个synchronized方法只能由一个线程访问。48.abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?答:都不能。49.List, Set, Map是否继承自Collection接口?答:List,Set是Map不是50.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()?