Я изучаю условные операторы на С# и понимаю, как они в основном работают.
A ? B : C
Где A = логическое условие
B = результат, когда A == True
C = результат, когда A == False
Моя проблема больше в написании сложного условия. Я пытаюсь написать:
(A == B || A == C) ? D : E
Я бы предпочел условие, которое больше похоже на:
A == (B || C) ? D : E
но это будет работать только тогда, когда A, B и C являются логическими значениями, и я пытаюсь сравнить целые числа.
Если нет простого способа сократить это, то все в порядке. Я просто пытался работать над тем, чтобы сделать мой код более эффективным и легким для чтения.
Спасибо
var passedRadioGroup = (RadioGroup)sender;
(passedRadioGroup.CheckedRadioButtonId == Resource.Id.radioButtonPass || passedRadioGroup.CheckedRadioButtonId == Resource.Id.radioButtonFail) ?
checklistItems[passedRadioGroup.Id].PassedBool = passedRadioGroup.CheckedRadioButtonId == Resource.Id.radioButtonPass :
checklistItems[passedRadioGroup.Id].PassedBool = null;
CheckedRadioButtonId — это целое число
radioButtonPass является целым числом
radioButtonFail - это целое число
PassedBool — логическое значение, допускающее значение NULL.
По сути, если CheckedRadioButtonId равен либо radioButtonPass, либо radioButtonFail, я хочу, чтобы для PassedBool было установлено значение true или false, в противном случае я хочу, чтобы оно было нулевым.