Как удалить один элемент из словаря - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть словарь, подобный этому

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 (игрок) удалены все элементы "targettid and friendid"

как я могу удалить только targettid из словаря findit?

1 Ответ

0 голосов
/ 26 декабря 2018

Вам нужно что-то вроде этого:

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

Используя findit.Remove(player), вы удаляете пару ключ-значение из словаря с ключом player.Вам это не нужно, исходя из вашего поста.Вы просто хотите удалить одну запись из значения (которое является списком в вашем случае), связанного с этим ключом.

Обновление

Если вы просто хотите удалитьПервый элемент в списке, связанный с игроком, вы можете просто использовать метод списка RemoveAt, передавая в качестве аргумента 0, так как вы хотите удалить первый элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...