【发布时间】:2020-07-31 09:56:34
【问题描述】:
我正在学习 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 是一个可以为空的布尔值
基本上,如果 CheckedRadioButtonId 等于 radioButtonPass 或 radioButtonFail,我希望将 PassedBool 设置为 true 或 false,否则我希望它为 null。
【问题讨论】:
-
“仅当 A、B 和 C 为布尔值时才有效” - 与编译时一样“有效”,但它的条件与您想要的完全不同。不,语言中没有这样的捷径。
-
{B,C} 包含 A ...
-
我真的不明白为什么您认为您的版本更易于阅读。
-
你能不能把你真正的条件语句张贴出来
-
你不能做你想做的事。语言没那么高级。您将不得不使用两个相等的比较。
标签: c# conditional-statements logical-operators readability coding-efficiency