Приоритет is/not/or/and в C#C#

Место общения программистов C#
Ответить
Anonymous
 Приоритет is/not/or/and в C#

Сообщение Anonymous »

Каков порядок приоритета сопоставления с образцом «нет»? Я понял, что написал такой код:
if (x is not TypeA or TypeB)

И неявно предполагал, что я пишу:
if (!(x is TypeA) && !(x is TypeB))

Но я только что понял, что это может оцениваться как:
if ((!x is TypeA) || (x is TypeB))

Другими словами, применяется ли «нет» к «или разделенному» списку или оно применяется только к следующему аргументу в списке. Нужно ли мое первоначальное заявление писать так:
if (x is not TypeA and not TypeB)
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»