Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
454 of 1492 menu
◀ ▶

Метод TryGetValue

Метод TryGetValue класса Dictionary<TKey, TValue> ищет ключ и через параметр out возвращает значение. Возвращает true, если ключ найден, иначе false и значение по умолчанию.

Синтаксис

bool found = map.TryGetValue(key, out TValue value);

Пример

Давайте прочитать существующий ключ:

using System; using System.Collections.Generic; class Program { static void Main() { Dictionary<int, string> map = new Dictionary<int, string> { {1, "a"}, {2, "b"} }; if (map.TryGetValue(2, out string val)) { Console.WriteLine(val); } } }

Результат выполнения кода:

"b"

Пример

Давайте запросить отсутствующий ключ:

using System; using System.Collections.Generic; class Program { static void Main() { Dictionary<int, string> map = new Dictionary<int, string> { {1, "a"} }; Console.WriteLine(map.TryGetValue(9, out string val)); } }

Результат выполнения кода:

False

Пример

Давайте сравнить два вызова для одного ключа:

using System; using System.Collections.Generic; class Program { static void Main() { Dictionary<int, string> map = new Dictionary<int, string> {{3, "c"}}; bool a = map.TryGetValue(3, out string v1); bool b = map.TryGetValue(3, out string v2); Console.WriteLine(a == b); } }

Результат выполнения кода:

True

Смотрите также

  • индексатор Dictionary,
    который бросает при отсутствии ключа
  • метод ContainsKey,
    который только проверяет ключ
  • метод TryGetValue,
    который читает из замороженной таблицы
  • метод TryAdd,
    который добавляет пару безопасно
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить