切换语句示例

本文关键字:语句 | 更新日期: 2023-09-27 18:00:39

如果此文本框的总数为:PostDiscountTextBox.Text=$500.00,我们如何进行Switch语句,说明如果后折扣成本金额在0.00和999.99之间,则显示一个消息框,其中包含"此金额符合‘a-100’常旅客里程"answers"确定"按钮的消息?

有人会提供switch语句的示例吗

到目前为止,我只知道这一点,我认为它根本没有遵循任何东西。有人能帮我渡过难关吗?非常感谢。

        switch (PostDiscountCostTextBox.Text)
        {
            case (0.00 < && PostDiscountCostTextBox.Text <= 999.00)

感谢所有提供帮助的人,但我正试图弄清楚如何使用switch语句,该语句基于一系列数值来评估折扣后成本(与if语句无关)。是的,会有很多案例,这将是我的前两个案例。有人愿意给我举个例子吗?这样我就可以把剩下的案子都填进去了?我有很多。非常感谢。

如果贴息成本金额在0.00和999.99之间,则显示一个消息框,其中包含消息"此金额符合‘a-100’常旅客里程"answers"确定"按钮。不应使用标题栏文本或图标。

如果贴息成本金额在1000.00到1499.99之间,则显示一个消息框,其中包含"此金额符合‘B-500’常旅客里程"answers"确定"按钮。不应使用标题栏文本或图标。

切换语句示例

C#中不允许使用switch

以下是正确使用switch 的示例

switch(n)       
{         
   case 1:   
      cost += 25;
      break;                  
   case 2:            
      cost += 25;
      break;           
   case 3:            
      cost += 50;
      break;         
   default:            
      Console.WriteLine("Invalid selection. Please select 1, 2, or 3.");            
      break;      
 }

您的示例应该转换为if-elseif-else语句:

if(first_case_predicate)
{
}
else if(another_predicate)
{
}
else
{
    // like 'default' of switch
}

您不能在switch中检查范围,您应该使用else if的链。请参阅C#中是否不可能在开关中使用十进制范围?

直接的方法是使用if else语句,因为switch操作不允许进行范围检查。另一个棘手的方法是使用Dictionaries。下面的代码片段演示了使用第二种方法所需要的内容。

decimal myVal = decimal.Parse(PostDiscountCostTextBox.Text);
        var conditions = new Dictionary<Func<int, bool>, Action>
        { 
            { x => x > 0 && x <= 999 ,    () => Console.WriteLine("This amount qualifies for 'A-100' frequent flier miles.")   } ,
            { x => x > 999 ,   () => Console.WriteLine("Dummy!")  } ,
        };
        cases.First(kvp => kvp.Key(myNum)).Value();

虽然没有if else方法那么简单,但它提供了一个测试。