如何在此处实现开关,而不是if和else if?

问题描述 投票:0回答:1

我正在使用if / else语句来检查单击了哪个单选按钮。如何使用switch语句代替if / else。

    else if (CBLeather.Checked && CBComputerNav.Checked && !CBStereo.Checked) {
                accessories = Accessories.LeatherAndNavigation;
            } else if (CBComputerNav.Checked && CBLeather.Checked && CBStereo.Checked) {
                accessories = Accessories.All;
            } else {
                accessories = Accessories.None;
            }
c# switch-statement
1个回答
0
投票

您可以从这些条件中提取方法,然后在if块中调用它们,例如:

private bool IsLeatherAndNavigation()
{
   return CBLeather.Checked && CBComputerNav.Checked && !CBStereo.Checked;
}

并使用:

if (IsLeatherAndNavigation()) 
{
   accessories = Accessories.LeatherAndNavigation;
}

并且可以在需要的地方重用,而不是将重复的if条件放在类中的各处。

© www.soinside.com 2019 - 2024. All rights reserved.