如何从字典中删除一个元素

时间:2018-12-26 20:28:30

标签: c# .net dictionary unity3d

我有这样的字典

private Dictionary<BasePlayer, List<ulong>> findit = new Dictionary<BasePlayer, List<ulong>>();

并使用

向其中添加元素
findit[player].Add(targetid); 
findit[player].Add(friendid); 

在另一部分

if (findit.ContainsKey(player))
findit.Remove(player);

但是使用findit.Remove(player)删除了所有元素“ targetid和friendid”

我怎么只能从findit字典中删除targetid?

1 个答案:

答案 0 :(得分:4)

您需要的是这样的

if (findit.ContainsKey(player))
{
     findit[player].Remove(targetid);
}

使用findit.Remove(player),您可以使用键player从字典中删除键值对。根据您的帖子,您不需要此功能。您只想从与此键关联的值(在您的情况下为列表)中删除一个条目。

更新

如果您只想删除与播放器关联的列表中的第一项,则可以使用列表的方法RemoveAt作为参数传递0,因为您要删除第一项。