Метод TryGetValue
Метод TryGetValue класса
HashSet<T>
принимает значение, равное искомому по
Comparer,
и через параметр out отдаёт элемент,
фактически хранящийся в множестве. Возвращает
true при успехе и false, если
равного элемента нет.
Синтаксис
bool found = set.TryGetValue(equalValue, out T actual);
Пример
Давайте найдем число, равное заданному:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
HashSet<int> nums = new HashSet<int> {1, 2, 3, 4, 5};
bool res = nums.TryGetValue(3, out int val);
Console.WriteLine(res);
Console.WriteLine(val);
}
}
Результат выполнения кода:
True
3
Пример
Давайте запросим отсутствующее значение:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
HashSet<int> nums = new HashSet<int> {1, 2, 3};
bool res = nums.TryGetValue(9, out int val);
Console.WriteLine(res);
Console.WriteLine(val);
}
}
Результат выполнения кода:
False
0
Пример
Давайте возьмём строку без учёта регистра:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
HashSet<string> items = new HashSet<string>(
StringComparer.OrdinalIgnoreCase);
items.Add("a");
bool res = items.TryGetValue("A", out string val);
Console.WriteLine(res);
Console.WriteLine(val);
}
}
Результат выполнения кода:
True
"a"
Смотрите также
-
метод
Contains,
который только проверяет наличие -
свойство
Comparer,
которое задаёт правила равенства -
метод
TryGetValue,
который ищет значение по ключу в словаре -
метод
Add,
который кладёт элемент в множество