Я объявил и заполнил следующую коллекцию.
protected static Dictionary<string, string> _tags;
Теперь я хочу посмотреть местонахождение определенной записи в коллекции. Я попробовал следующее.
thisTag = _tags.FirstOrDefault(t => t.Key == tag);
if (thisTag != default(KeyValuePair<string, string>))
...
И я получаю сообщение об ошибке:
Оператор '! =' не может применяться к операндам типа 'System.Collections.Generic.KeyValuePair' и ''
Сначала я попытался сравнить результат с null
, и я думаю, что это не поддерживается с помощью struct
s.
Я бы подумал, что найти элемент в коллекции - очень тривиальная задача. Итак, как я могу определить, найден ли элемент, который я ищу?
(Примечание: я использую Dictionary
, потому что я хочу быстрый поиск. Я знаю, что могу использовать Contains()
, чтобы определить, есть ли элемент. Но это означает, что в общей сложности два поиска, которые видят поражение цели быстрый просмотр. Я с удовольствием использую другую коллекцию, если она сможет быстро найти элемент, и у меня есть способ определить, было ли это успешным.)