Эффективный способ для нескольких значений 2 true false if

У меня есть оператор 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 ответ


Я бы использовал вложенный метод 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
    }
}

Есть идеи?

10000