Как вернуть несколько значений из одного троичного оператора? - PullRequest
0 голосов
/ 09 мая 2018

Допустим, у меня есть следующий код:

int x    = GetBoolValue() ? 0 : 1;
string y = GetBoolValue() ? "foo" : "bar";
float z  = GetBoolValue() ? 0.4f : 0.5f;

Есть ли в любом случае, чтобы сжать эти три утверждения в одно, чтобы сделать код проще для чтения?

1 Ответ

0 голосов
/ 09 мая 2018

Используя кортежи значений C # 7, вы можете сделать что-то вроде этого:

var (x, y, z) = GetBoolValue() ? (0, "foo", 0.4f) : (1, "bar", 0.5f);

var можно удалить, если они уже были объявлены, и все равно будет работать нормально.

...