Ere*_*rez 12 .net c# programming-languages
如果只有三个参数中的一个或两个是真的,我需要一个返回True的代码
什么是最短/最好的方式?
Stu*_*art 23
我沉迷于这个问题!
bool MyFourthAnswer(bool a, bool b, bool c)
{
return (a != b) || (b != c);
}
Run Code Online (Sandbox Code Playgroud)
Kon*_*lph 14
只需检查是否至少设置了其中一个值,而不是设置了所有三个值:
bool result = (a | b | c) & !(a & b & c);
Run Code Online (Sandbox Code Playgroud)
Ani*_*Ani 10
这是一种奇特的方式:
bool oneOrTwoTrue = a ? (!b || !c) : (b || c);
Run Code Online (Sandbox Code Playgroud)
如果设置了第一个bool,则应该取消其中任何一个.否则,应设置剩余的任何一个.
编辑 - 回应评论:在生产代码中,我可能会选择@ AS-CII或@Stuart; 它最清楚地传达了计算内容的意图.
另一个答案......我喜欢这个问题......
bool MyThirdAnswer(params bool[] list)
{
return list.Distinct().Count() == 2;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3921 次 |
| 最近记录: |