Могу ли я изменить использование двух? : ярлыки для использования нового синтаксиса выражения переключения? - PullRequest
0 голосов
/ 16 марта 2020

У меня есть код, который выглядит следующим образом. Интересно, могу ли я заменить это на код типа выражения переключения:

var ptsMsg1 = !App.cards ?
             "" :
             selectedPoints == pointsCount ?
                " This is the same number as when you started your practice." :
               $" This is {(selectedPoints - pointsCount)} more.";

Ответы [ 2 ]

3 голосов
/ 16 марта 2020

C# 8 Выражение переключателя можно использовать для этого:

var msg2 = (App.cards, samePoints: selectedPoints == pointsCount) switch
        {
            { cards: false } => "",
            { samePoints: true } => " This is the same number as when you started your practice.",
            _ => $" This is {(selectedPoints - pointsCount)} more.",
        };

Мой ответ - просто ответ на вопрос. Является ли этот код или код OP более понятным, в любом случае субъективно.

1 голос
/ 16 марта 2020

Вы можете использовать это

switch (App.cards) 
{
  case true:
    switch (selectedPoints == pointsCount)
    {
      case true:
        return " This is the same number as when you started your practice.";

      default:
        return "";
   }

  default:
    return $" This is {(selectedPoints - pointsCount)} more.";
}

Я не рекомендую вам использовать это, я только что ответил на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...