从C#中的列表中的列表中删除元素。

时间:2014-04-07 06:12:21

标签: c# linq list

我的情况是我的基本列表包含 ConnectedUser 对象。

List<ConnectedUser> userList = new List<ConnectedUser>();

这是ConnectedUser类:

public class ConnectedUser
{
  public string phone { get; set; }
  public HashSet<string> ConnectionIds { get; set; }
}

那么如何从列表中删除特定的 connectionId

3 个答案:

答案 0 :(得分:6)

只需在每套中调用删除即可。如果集合中没有此类连接ID,将不会失败。

string connectionId = "";
foreach (ConnectedUser user in userList)
    user.ConnectionIds.Remove(connectionId);

string connectionId = "";
userList.ForEach(u => u.ConnectionIds.Remove(connectionId));

答案 1 :(得分:1)

试试这个:

userList.ForEach(o =>
    {
        var result = o.ConnectionIds.Except(c => c.ID == "idToBeRemoved");
    }
);

答案 2 :(得分:1)

执行以下操作:

foreach(var item in userList)
{
  item.ConnectionIds.Remove(x=>x.Id =="1")
}