cod*_*der 1 c# if-statement switch-statement
我写了一些像这样的if-else语句:
if (workedDays > 0 && workedDays <= 180)
{
x= 14;
}
if (workedDays > 180 && workedDays <= 540)
{
x= 28;
}
if (workedDays > 540 && workedDays <= 1068)
{
x= 42;
}
else
{
x= 56;
}
Run Code Online (Sandbox Code Playgroud)
我试图将其重写为如下所示的switch语句:
switch (workedDays)
{
case (workedDays > 0 && workedDays <= 180):
x=14;
break;
default:
break;
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到了错误Cannot implicitly convert type 'bool' to 'int'
.
我该如何解决?
虽然switch(true)
@Jeroen 的答案可能有效,但我建议以下内容为可读性:
if (workedDays <= 180)
x = 14;
else if (workedDays <= 540)
x = 28;
else if (workedDays <= 1068)
x = 42;
else
x = 56;
Run Code Online (Sandbox Code Playgroud)
通过这种else if
结构,无需仔细检查最小值和最大值.
归档时间: |
|
查看次数: |
1542 次 |
最近记录: |