我有if..else这个长循环。任何人都可以帮助我知道“切换案例”是否更适合这个或“if..else”?
if (meals == null)
{
bfast.Hide();
lunch_rb.Hide();
dinner_rb.Hide();
}
else if (meals != null)
{
if (breakfast != null && lunch == null && dinner == null)
{
lunch_rb.Hide();
dinner_rb.Hide();
}
if (breakfast == null && lunch != null && dinner == null)
{
bfast.Hide();
dinner_rb.Hide();
}
if (breakfast == null && lunch == null && dinner != null)
{
bfast.Hide();
lunch_rb.Hide();
}
if (breakfast != null && lunch != null && dinner == null)
{
dinner_rb.Hide();
}
if (breakfast != null && lunch == null && dinner != null)
{
lunch_rb.Hide();
}
if (lunch != null && breakfast == null && dinner != null)
{
bfast.Hide();
}
我正在为Windows CE 5.0开发一个应用程序(如果这有帮助)
答案 0 :(得分:10)
我认为在这种情况下更好的解决方案是:
if (breakfast == null)
bfast.Hide();
if (lunch == null)
lunch_rb.Hide();
if (dinner == null)
dinner_rb.Hide();
答案 1 :(得分:6)
你可以尝试这样的事情,因为你有多个变量的条件,你需要制作表达式来传递它来切换,所以使用if如下所示可能会使它变得简单。
if (breakfast == null)
bfast.Hide();
if (lunch == null)
lunch_rb.Hide();
if (dinner == null)
dinner_rb.Hide();
答案 2 :(得分:1)
对于这种特殊情况,如果 - 其他更好,因为你有复杂的条件,而且我认为切换案例是不可能的。
答案 3 :(得分:0)
对于这个问题,我认为if...else
已经足够了。 switch...case
无法处理如此复杂的情况。随意使用它。
答案 4 :(得分:0)
切换案例总是比if ...更好,因为它需要更少的输入,你的代码将更容易阅读和理解。我自己只是使用“else if”当我在考试中忘记了开关的风格!!! / p>
答案 5 :(得分:0)
if
和switch
语句之间的效果水平差别不大。无论如何,你的代码是一堆乱七八糟的条件。考虑到Pigueiras的答案。像
bfast.Hide();
lunch_rb.Hide();
dinner_rb.Hide();
if (meals != null) {
if (breakfast != null)
bfast.Show();
if (lunch =! null)
lunch_rb.Show();
if (dinner =! null)
dinner_rb.Show();
}