Страницы

Поиск по вопросам

воскресенье, 8 марта 2020 г.

Проверка принадлежности числа множеству

#c_sharp


Есть ли специальные операторы в c# для определения принадлежности числа множеству?
Аналог в паскале: 2 in [1..4], возвращает true в данном случае.
    


Ответы

Ответ 1



Как вариант, можно написать метод или даже метод-расширение: public static class RangeHelper { public static bool IsInRange(this int x, int start, int end) => x >= start && x <= end; } Использовать так: if (2.IsInRange(1, 4)) { ... }

Ответ 2



В C# есть тип, представляющий собой множество. Для вашего случая аналогом будет HashSet. Проверка вхождения тривиальна: var x = new HashSet() { 2, 3, 4 }; Console.WriteLine(x.Contains(2)); // выдаёт True А вот таких удобных литералов множеств, как в Паскале, в C# нету, ближайшим аналогом [2..4] является new HashSet(Enumerable.Range(start: 2, count: 3)) Специальной поддержки множеств на уровне синтаксиса языка в C# на текущий момент нет.

Комментариев нет:

Отправить комментарий