清理 List最可靠的方法取决于谓词

发布于 2024-10-05 13:26:54 字数 646 浏览 9 评论 0原文

我有 List; dataPredicate

根据condition结果,我应该使用什么方法来清除data

  • 选项 1:

    var del = data.Where(i => 条件);
    data.RemoveAll(i => del.Contains(i));
    
  • 选项 2:

    var del = data.Where(i => 条件);
    for (int i = 0; i < del.Count; i++)
        数据.删除(del[i]);
    
  • 选项 3:

    var del = data.Where(i => 条件);
    foreach(del 中的 var i)
       数据.删除(i);
    
  • 选项 4:

    data = data.Where(i => !condition);
    
  • 还有其他吗?

I have List<T> data and Predicate<T> condition.

What way should I use to clear data depending on condition result?

  • Option 1:

    var del = data.Where(i => condition);
    data.RemoveAll(i => del.Contains(i));
    
  • Option 2:

    var del = data.Where(i => condition);
    for (int i = 0; i < del.Count; i++)
        data.Remove(del[i]);
    
  • Option 3:

    var del = data.Where(i => condition);
    foreach (var i in del)
       data.Remove(i);
    
  • Option 4:

    data = data.Where(i => !condition);
    
  • Any other?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

肤浅与狂妄 2024-10-12 13:26:54

怎么样:

data.RemoveAll(condition);

请注意,如果不调用 ToList(),您的第四个选项将无法工作。

How about:

data.RemoveAll(condition);

Note that your fourth option won't work without a call to ToList().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文