gpt4 book ai didi

c# - C# 中的 Case/Switch 语句

转载 作者:太空宇宙 更新时间:2023-11-03 17:07:08 24 4
gpt4 key购买 nike

我想知道是否有一种方法可以声明很多 case 语句而不必全部编写。比如我的代码:

            switch (Weight)
{
case 0 to 2;
ShippingCost = "3.69";

case 3 to 4;
ShippingCost = "4.86";

case 5 to 6;
ShippingCost = "5.63";

case 7 to 8;
ShippingCost = "5.98";

case 9 to 10;
ShippingCost = "6.28";

case 11 to 30;
ShippingCost = "15.72";

}

我开始将 VB 转换为 C#,并意识到要拥有多个 case 语句,您必须声明它们。如您所见,我有 11 到 30 条线,但不想拥有所有这些线。

最佳答案

您不能像在 VB 中那样在 C# 中使用比较。但是,您可以使用 fall-through cases,如下所示:

case 0:
case 1:
case 2:
ShippingCost = "3.69";
break;

case 3:
case 4:
ShippingCost = "4.86";
break;

请注意,非空情况需要 throwreturnbreak 语句。另请注意,您只能在空情况下失败。

编辑:

为了完整性,正如其他人所指出的,在这种情况下使用一系列 if 语句可能更明智,如下所示:

if(Weight<=2) {
ShippingCost = "3.69";
}
else if(Weight <= 4) {
ShippingCost = "4.86";
}
... etc

关于c# - C# 中的 Case/Switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33782845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com