【发布时间】:2019-05-08 19:07:04
【问题描述】:
我从未使用过switch case 而不是if/else if,我想知道如何使用它。我非常感谢您的帮助!任务是在文本框(tbVindstyrke)中输入一定量的风,代码应该告诉用户风车每小时产生的瓦特量(W/t)。它应该将结果发布在标签中 (lbWattprodusert)。
我已经让它与if-statement 一起使用,据我所知,这会占用大量计算机处理能力(或其他东西)。所以,我想把它改成switch-statement。
double Vs = 0;
private void btSjekkW_Click(object sender, EventArgs e)
{
Vs = Convert.ToDouble(tbVindstyrke.Text);
if (Vs >= 0 && Vs <= 2.4)
lbWattProdusert.Text = 0 + " W/t";
else if (Vs >= 2.5 && Vs <= 3.3)
lbWattProdusert.Text = 2 + " W/t";
else if (Vs >= 3.4 && Vs <= 5.4)
lbWattProdusert.Text = 10 + " W/t";
}
【问题讨论】:
-
一个开关在这里不起作用,因为您正在寻找一个范围内的值。
-
快速搜索,我找到了这个stackoverflow.com/a/44078916/5569172
-
不要害怕 if 语句。需要注意的一件事:当您之前将其检查为上限时,您不需要再次检查下限。 Plus 2.45 不会落在裂缝之间
-
如果你还想用
if/else if,我建议你改成这个if (Vs >= 0 && Vs <= 2.4) lbWattProdusert.Text = 0 + " W/t"; else if (Vs <= 3.3) lbWattProdusert.Text = 2 + " W/t"; else if (Vs <= 5.4) lbWattProdusert.Text = 10 + " W/t";,避免2.4和2.5,3.3和3.4之间的差距。
标签: c# if-statement switch-statement