Позволяет комбинировать различные шаблоны с использованием логических операторов and, or и not. Эти шаблоны предоставляют гибкость и позволяют создавать более сложные условия для сопоставления с шаблоном. Negated Pattern является частью Logical patterns Доступны только эти три оператора, больше нет. <br> Пример с использованием Relational pattern ```csharp if (input is > 0 and <= 100 or 200 or not 345) { // выполнить операцию } ``` ```csharp switch (input) { case > 0 and <= 100 or 200 or not 345: // выполнить операцию break; } ``` <br> `if (oldValue.Id is not -1 and not 0)`
 и
 `if (oldValue.Id is not (-1 or 0))` логически эквивалентны и оба проверяют, что значение oldValue.Id не равно ни -1, ни 0.