Вы можете написать свой код, используя троичные операторы, например:
Model.Sort = string.IsNullOrEmpty(objModel.Status) // if (string.IsNullOrEmpty(Status))
? Model.Sort // Model.Sort = Model.Sort;
: objModel.Status == "0" // else if (Status == "0")
? "Result1" // Model.Sort = "Result1";
: objModel.Status == "8" // else if (Status == "8")
? "Result2" // Model.Sort = "Result2";
: "Result3"; // else Model.Sort = "Result3";
Где первое условие представляет условие if
, а затем каждый оператор после оператора :
, который представляет собой сравнение, представляетelse if
, и, наконец, результат после последнего :
представляет окончательное присваивание else
.
Первое условие является своего рода «фиктивным» условием (потому что, если оно истинно, ничего действительно не меняется *),но требуется, если мы хотим включить проверку IsNullOrEmpty
в троичные операции, поскольку троичный оператор должен возвращать значение как в true
, так и false
случаях.
I 'Я не уверен, что фиктивное назначение будет оптимизировано или вызовет сеттер в этом "фиктивном" случае.Если вызывается сеттер, то потенциально это может иметь другой эффект, чем ваш исходный код, в зависимости от того, что делает код сеттера.