我有一个类似于以下的功能
string Foo(bool A, bool B)
{
if(A)
{
if(B)
{
return "W";
}
else
{
return "X";
}
}
else
{
if(B)
{
return "Y";
}
else
{
return "Z";
}
}
}
Run Code Online (Sandbox Code Playgroud)
那双重嵌套对我来说是错误的.有没有更好的方法来实现这种模式?
谢谢大家的帮助,我最终走上了三路.它帮助改变了这个:
if (female)
{
if (nutered)
{
destRow["TargetSex"] = "FS";
}
else
{
destRow["TargetSex"] = "F";
}
}
else
{
if (nutered)
{
destRow["TargetSex"] = "MN";
}
else
{
destRow["TargetSex"] = "M";
}
}
Run Code Online (Sandbox Code Playgroud)
对此
destRow["TargetSex"] = female ? (nutered ? "FS" : "F")
: (nutered ? "MN" : "M");
Run Code Online (Sandbox Code Playgroud)
Ste*_*ler 10
if (A)
{
return B ? "W" : "X";
}
return B ? "Y" : "Z";
Run Code Online (Sandbox Code Playgroud)
或者更简洁:
return A ? (B ? "W" : "X")
: (B ? "Y" : "Z");
Run Code Online (Sandbox Code Playgroud)
如果你选择完全没有条件的话:
if (A && B) return "W";
if (A && !B) return "X";
return B ? "Y" : "Z";
Run Code Online (Sandbox Code Playgroud)