从C#中列表内的列表中删除元素。
我的基本列表由ConnectedUser对象组成从C#中列表内的列表中删除元素。,c#,linq,list,C#,Linq,List,我的基本列表由ConnectedUser对象组成 List<ConnectedUser> userList = new List<ConnectedUser>(); List userList=newlist(); 这是ConnectedUser类: public class ConnectedUser { public string phone { get; set; } public HashSet<string> ConnectionIds
List<ConnectedUser> userList = new List<ConnectedUser>();
List userList=newlist();
这是ConnectedUser类:
public class ConnectedUser
{
public string phone { get; set; }
public HashSet<string> ConnectionIds { get; set; }
}
公共类ConnectedUser
{
公用字符串电话{get;set;}
公共哈希集连接ID{get;set;}
}
那么,如何从列表中删除特定的连接ID。只需在每个集合中调用remove。如果集合中没有这样的连接id,将不会失败
string connectionId = "";
foreach (ConnectedUser user in userList)
user.ConnectionIds.Remove(connectionId);
或
试试这个:
userList.ForEach(o =>
{
var result = o.ConnectionIds.Except(c => c.ID == "idToBeRemoved");
}
);
执行以下操作:
foreach(var item in userList)
{
item.ConnectionIds.Remove(x=>x.Id =="1")
}
首先,它是一个集合,而不是一个列表-重要的是要意识到其中的差异。现在,您是否已经有了与要删除的
连接ID
关联的连接用户
?如果没有,你将不得不查看所有的用户。。。
foreach(var item in userList)
{
item.ConnectionIds.Remove(x=>x.Id =="1")
}