打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c#删除list中的元素 - C# - 编程开发 - 伊甸网

1.这个我是用反循环来弄的。

  for (int i = list.Count - 1; i >= 0; i--)

  {

  if (list[i].NO == item.NO)

  {

  list.RemoveAt(i);

  }

  }

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

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

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

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

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

  {

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

  foreach (A a in list)

  {

  if (a.NO != item.NO && !tempList.Contains(a))

  tempList.Add(a);

  }

  list = tempList;

  }

  这样也可以。

本文地址:【伊甸网】http://www.edenw.com/tech/devdeloper/Cp/2010-12-03/6662.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
637,回溯算法解子集 II
Mini C# Set class - Footprints on the sands o...
li - HTML元素
bootstrap4 简单列表
python统计列表内元素个数
Python怎么合并两个列表
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服