c#

位置:IT落伍者 >> c# >> 浏览文章

c#删除list中的元素


发布日期:2022年03月30日
 
c#删除list中的元素

这个我是用反循环来弄的

for (int i = listCount ; i >= ; i)

{

if (list[i]NO == itemNO)

{

listRemoveAt(i);

}

}

用RemoveAll效率应该可以他相当于一次遍历把所有符合条件的元素都交换到List的前面

然后一次性删除掉后面不符合条件的元素效率是O(n)的

如果是一条一条删每删除一条之后都要把后面所有元素向前移动效率是n^的!

不过如果用其它list的话其实也不用重现Clone方法

public void RemoveItemFromList(ref List <A> list A item)

{

List <A> tempList = new List <A>();

foreach (A a in list)

{

if (aNO != itemNO && !tempListContains(a))

tempListAdd(a);

}

list = tempList;

}

这样也可以

               

上一篇:c#中使用多线程访问winform中控件

下一篇:C# GDI+编程之基础篇