我有这样的字典
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?
答案 0 :(得分:4)
您需要的是这样的
if (findit.ContainsKey(player))
{
findit[player].Remove(targetid);
}
使用findit.Remove(player)
,您可以使用键player
从字典中删除键值对。根据您的帖子,您不需要此功能。您只想从与此键关联的值(在您的情况下为列表)中删除一个条目。
更新
如果您只想删除与播放器关联的列表中的第一项,则可以使用列表的方法RemoveAt
作为参数传递0,因为您要删除第一项。