Почему мы объявляем дополнительную переменную при сопоставлении с образцом в c # - PullRequest
0 голосов
/ 05 февраля 2019

В сопоставлении с шаблоном C # мы должны сделать это:

switch(someVar)
{
  case var x when condition:
    break;
  default:
    break;
}

Как вы можете видеть, мы должны объявлять новую переменную всякий раз, когда мы используем сопоставление с образцом.Это почему?Почему мы не можем использовать someVar напрямую?

1 Ответ

0 голосов
/ 05 февраля 2019

Да, вы можете использовать someVar напрямую, например так:

switch(someVar)
{
  case var _ when someVar > 10:
    break;
  default:
    break;
}

Вам все еще нужно var _, потому что это шаблон , а операторы переключения соответствуют шаблоны , а не условия .Шаблон _ соответствует чему угодно.Затем проверяется часть when ....

...