如题!!!
需要考虑到大批量数据的处理,
给分标准是:比这个方法效率高!!!!
private void Distinct(ListItemCollection items)
...{
for (int i = 0; i < items.Count; i++)
...{
for (int j = i + 1; j < items.Count; j++)
...{
if (items[i].Equals(items[j]))
items.Remove(items[j]);
} }
}
需要考虑到大批量数据的处理,
给分标准是:比这个方法效率高!!!!
private void Distinct(ListItemCollection items)
...{
for (int i = 0; i < items.Count; i++)
...{
for (int j = i + 1; j < items.Count; j++)
...{
if (items[i].Equals(items[j]))
items.Remove(items[j]);
} }
}
解决方案 »
- 从vs2010右击浏览网页提示“存储空间不足,无法完成此操作”
- 哪位高人给讲讲C#中的线程?
- c#中引用标准PE格式的DLL文件中的函数
- 求助!数据连接问题。
- 请问怎样才能有效地提高程序的启动速度?
- 急急急啊,如何让ImageButtom想Buttom一样具有Enabled属性啊?
- 用XDE画一个类图,怎么成员函数的返回值都不能在类图里显示出来的?
- 第三方控件Symbol看不到,也添加不了,求大神!
- 怎样取得这样的随机数?
- c# dataGridView 定义好列后绑定dataset 数据源
- 关于datagridviewcell的positioneditingcontrol的问题
- 发个自己用WPF做的时钟
语法高效,不代码性能高效。最好是在添加到List的时候处理。
{
ListItem li = new ListItem(tempString,tempString);
if(ListBox1.Items.Contains(li))
{
}
使用list的distinct等删除重复值
至于性能方面 就交给自定义方法吧
object[] items =
this.listBox1.Items.Cast<object>().Distinct().ToArray();this.listBox1.Items.Clear();
this.listBox1.Items.AddRange(items);
private void Distinct(ListItemCollection items)
...{
int count = items.Count;
for (int i = 0; i < count; i++)
...{
for (int j = items.Count; j > i; j--)
...{
if (items[i].Equals(items[j]))
items.Remove(items[j]);
}减少items.Count的运算次数
ListBox newListBox = new ListBox();
for(int i=0;i<ListBox1.Items.Count;i++)
{
if (newListBox.Items.Count == 0)
{
newListBox.Items.Add(ListBox1.Items[i]);
}
else
{
list = newListBox.Items;
ListItem item = ListBox1.Items[i];
if (list.IndexOf(list.FindByValue(item.Value)) == -1)
{
newListBox.Items.Add(item);
}
}
}
ListBox1.Items.Clear();
ListBox1 = newListBox;