从IEnumerable< T>中删除项目.收藏 [英] Remove an item from an IEnumerable<T> collection

查看:90
本文介绍了从IEnumerable< T>中删除项目.收藏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个弹出的IEnumerable<User>集合.

我要从其中删除一个项目,该怎么办?

I want to remove an item from it, how can I do this?

foreach(var u in users)
{
  if(u.userId = 1123)
  {
    // remove!
  }
}

我知道您不希望在循环时删除它,因此我不介意创建新集合或在之后删除它.

I know your not suppose to remove while looping, so I don't mind either creating a new collection or removing it after.

但是我不知道如何删除某个项目,由于某种原因,它有点丢失!

But I don't know how to remove an item, kind of lost for some reason on this!

或者我也很困惑,如何创建新的收藏集,如:

Alternately which I am confused on also, how can I create a new collection like:

IEnumerable<User> modifiedUsers = new List<User>();

foreach(var u in users)
{
   if(u.userId != 1233)
   {
        modifiedUsers.add ??????
   }
}

如何添加到收藏夹?

推荐答案

不删除,而是使用LINQ创建一个没有该元素的新List:

Not removing but creating a new List without that element with LINQ:

// remove
users = users.Where(u => u.userId != 123).ToList();

// new list
var modified = users.Where(u => u.userId == 123).ToList();

这篇关于从IEnumerable&lt; T&gt;中删除项目.收藏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆