Использование выражения &&
для объединения двух сравнений - это просто самый элегантный способ сделать это. Если вы попытаетесь использовать причудливые методы расширения и тому подобное, вы столкнетесь с вопросом: включать ли верхнюю границу, нижнюю границу или и то, и другое. Как только вы начинаете добавлять дополнительные переменные или изменять имена расширений, чтобы указать, что включено, ваш код становится длиннее и труднее для чтения (для подавляющего большинства программистов). Более того, такие инструменты, как Resharper, будут предупреждать вас, если ваше сравнение не имеет смысла (number > 100 && number < 1
), чего они не будут делать, если вы используете метод ('i.IsBetween (100, 1)').
Единственный другой комментарий, который я хотел бы сделать, заключается в том, что если вы проверяете входные данные с намерением выдать исключение, вам следует рассмотреть возможность использования контрактов кода:
Contract.Requires(number > 1 && number < 100)
Это более элегантно, чем if(...) throw new Exception(...)
, и вы даже можете получить предупреждения во время компиляции, если кто-то попытается вызвать ваш метод, не убедившись, что число находится в границах первого.