Каков приоритет оператора C# версии 8 ..? - PullRequest
0 голосов
/ 23 апреля 2020

Я обновляю наш синтаксический анализатор MS C# 7.x до C# 8. Он имеет новый синтаксис и операторы, и большинство из них, кажется, имеют очевидные места в любой разумной грамматике V7.

Тем не менее, есть новый бинарный оператор, который формирует диапазоны:

  ..

Но я не могу найти никакой информации о том, куда это идет в иерархии приоритетов операторов. Реально можно ожидать, что это будет более низкий приоритет, чем сложение или вычитание, поэтому можно написать

xyz[n+k..m-k]

, но это только догадка с моей стороны.

Есть ли где-нибудь таблица приоритетов операторов v8, доступная где-то?

Очевидно, что для версии 8 нет опубликованной Microsoft грамматики. Надеюсь, я ошибаюсь.

1 Ответ

4 голосов
/ 23 апреля 2020

Из MSDN (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/ranges):

Все формы оператора диапазона имеют одинаковый приоритет. Эта новая группа приоритетов ниже, чем унарные операторы, и выше, чем мультипликативные арифметические c операторы.

...