#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# на текущий момент нет.
Комментариев нет:
Отправить комментарий