Эффективный способ для нескольких значений 2 true false if - PullRequest
1 голос
/ 17 мая 2019

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

int? x;
int? y;

if(x == null and y == null) { do this part; }
else if (x != null and y == null) {do this second part; }
else if (x == null and y != null) {do this third part; }
else { do this last part; } 

Я пытаюсь найти, если есть более эффективный способ реализовать это.Существует вариант описания случая, но я все еще хочу знать, есть ли лучший способ.

1 Ответ

2 голосов
/ 17 мая 2019

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

if (x == null) {
    if (y == null) {
        // Both are null
    } else {
        // Only x is null
    }
} else {
    if (y == null) {
        // Only y is null
    } else {
        // Neither are null
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...