Pho*_*_uy 8 c# if-statement boolean
我有我的代码(C#)和3个布尔int32
那要看是什么布尔是财产true
和false
.什么是最好的方式,以另一种方式实现这一点,而不是如下语句:
if(a && b && !c)
d = 1;
if(a && !b && !c)
d = 2;
//etc.. ect...
Run Code Online (Sandbox Code Playgroud)
编辑:3个布尔值必须具有可能的每个组合来设置int32值.
编辑2:对于两个不同的布尔比较,"d"的值可以相同.
Dav*_*yon 28
最好捕获操作的意图,而不是显式检查布尔值.
例如:
public void Check()
{
if (HasOrdered())
{
// do logic
}
}
private bool HasOrdered()
{
return a && !b && !c;
}
private bool HasBooked()
{
return a && b && !c;
}
Run Code Online (Sandbox Code Playgroud)
Sam*_*r83 11
您可以使用卡诺图来减少方程式并减少ifs.
https://en.wikipedia.org/wiki/Karnaugh_map