Я изучаю условия в C#, и я понимаю, как они в основном работают.
А? 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 - это int
radioButtonPass - это int
radioButtonFail - int
PassedBool - обнуляемый bool
По существу, если CheckedRadioButtonId равен либо radioButtonPass, либо radioButtonFail, я хочу, чтобы PassedBool был установлен в true или false, в противном случае я хочу это нуль.