Вместо того, чтобы использовать список KeyValuePair, вы можете использовать
Dictionary <string, int> dictionary = new Dictionary <string, int>().
Для поиска в нашей коллекции мы будем использовать первый оператор и еще лучше будет, если мы будем использовать оператор FirstOrDefault , Зачем? Описание ниже. Поиск по оператору происходит намного быстрее, потому что коллекция ищет элемент по элементу в первый встреченный элемент, который удовлетворяет условию. В то время как оператор Где выполняет поиск по всей коллекции.
Теперь мы добавляем новые слова в словарь, ключ должен быть уникальным (они не могут быть двумя записями с одним и тем же ключом).
Например, давайте добавим некоторые записи в коллекцию.
dictionary.Add ("one", 1);
dictionary.Add ("two", 2);
dictionary.Add ("three", 3);
Теперь, используя LINQ, вы можете очень легко и быстро получить интересующий нас товар. Затем мы можем искать ключевой элемент, потому что знаем, что это уникально. Есть два способа:
Первый способ гарантирует, что мы не будем возвращать исключение в отсутствие поиска элемента (например, Key = "four"). Результат будет пустой ключ и значение 0.
KeyValuePair <string, int> results = dictionary.FirstOrDefault (v => v.Key.Equals ("two"));
Второй способ может генерировать ошибку, когда поисковый элемент не в коллекции.
KeyValuePair <string, int> results = dictionary.First (v => v.Key.Equals ("two"));
Теперь вы можете получить значения:
string key = results.Key;
int value = results.Value;