亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C# switch 语句

C# switch 语句

在本文中,我们将通过示例了解 C# 中的 switch 语句以及如何使用它们。

Switch 语句可用于替换 C# 中的 if...else if 语句。使用 switch over if...else if 语句的优点是代码看起来更干净,更易读。

switch语句的语法是:

switch (variable/expression)
{
    case value1:
        // Statements executed if expression(or variable) = value1
        break;
    case value2:
        // Statements executed if expression(or variable) = value1
        break;
    ... ... ... 
    ... ... ... 
    default:
        // Statements executed if no case matches
}

switch 语句计算 表达式 (或变量 ) 并将其值与每个案例的值(或表达式)进行比较 (value1 , 值2 ,……)。当它找到匹配的值时,就会执行那个case里面的语句。

但是,如果以上情况都不匹配表达式,则 default 中的语句 块被执行。 switch 末尾的 default 语句类似于 if else 语句中的 else 块。

但是switch语句的一个问题是,当找到匹配的值时,它会执行它之后的所有语句,直到switch块结束。

为了避免这种情况,我们使用 break 在每个案例的末尾声明。 break语句通过终止switch语句的执行来阻止程序执行不匹配的语句。

要了解有关 break 语句的更多信息,请访问 C# break 语句 .


示例 1:C# switch 语句

using System;
 
namespace Conditional
{
    class SwitchCase
    {
        public static void Main(string[] args)
        {
            char ch;
            Console.WriteLine("Enter an alphabet");
            ch = Convert.ToChar(Console.ReadLine());
 
            switch(Char.ToLower(ch))
            {
                case 'a':
                    Console.WriteLine("Vowel");
                    break;
                case 'e':
                    Console.WriteLine("Vowel");
                    break;
                case 'i':
                    Console.WriteLine("Vowel");
                    break;
                case 'o':
                    Console.WriteLine("Vowel");
                    break;
                case 'u':
                    Console.WriteLine("Vowel");
                    break;
                default:
                    Console.WriteLine("Not a vowel");
                    break;
            }
        }
    }
}

当我们运行程序时,输出将是:

Enter an alphabet
X
Not a vowel

在本例中,提示用户输入字母。使用 ToLower() 将字母转换为小写 方法如果是大写的话。

然后,switch语句检查用户输入的字母是否是a, e, i, o or u中的任何一个 .

如果其中一种情况匹配,Vowel 打印,否则控制进入默认块和 Not a vowel 作为输出打印出来。

由于所有元音的输出都是相同的,我们可以将这些情况连接为:


示例 2:具有分组情况的 C# switch 语句

using System;
 
namespace Conditional
{
    class SwitchCase
    {
        public static void Main(string[] args)
        {
            char ch;
            Console.WriteLine("Enter an alphabet");
            ch = Convert.ToChar(Console.ReadLine());
 
            switch(Char.ToLower(ch))
            {
                case 'a':
                case 'e':
                case 'i':
                case 'o':
                case 'u':
                    Console.WriteLine("Vowel");
                    break;
                default:
                    Console.WriteLine("Not a vowel");
                    break;
            }
        }
    }
}

两个程序的输出是一样的。在上面的程序中,所有元音都打印输出 Vowel 并从 switch 语句中中断。

尽管 switch 语句使代码看起来比 if...else if 语句更简洁,但 switch 仅限于使用有限的数据类型。 C# 中的 Switch 语句仅适用于:


示例 3:使用 C# switch 语句的简单计算器程序

using System;
 
namespace Conditional
{
    class SwitchCase
    {
        public static void Main(string[] args)
        {
            char op;
            double first, second, result;
             
            Console.Write("Enter first number: ");
            first = Convert.ToDouble(Console.ReadLine());
            Console.Write("Enter second number: ");
            second = Convert.ToDouble(Console.ReadLine());
            Console.Write("Enter operator (+, -, *, /): ");
            op = (char)Console.Read();
 
            switch(op)
            {
                case '+':
                    result = first + second;
                    Console.WriteLine("{0} + {1} = {2}", first, second, result);
                    break;
                 
                case '-':
                    result = first - second;
                    Console.WriteLine("{0} - {1} = {2}", first, second, result);
                    break;
                 
                case '*':
                    result = first * second;
                    Console.WriteLine("{0} * {1} = {2}", first, second, result);
                    break;
                 
                case '/':
                    result = first / second;
                    Console.WriteLine("{0} / {1} = {2}", first, second, result);
                    break;
 
                default:
                    Console.WriteLine("Invalid Operator");
                    break;
                     
            }
        }
    }
}

当我们运行程序时,输出将是:

Enter first number: -13.11
Enter second number: 2.41
Enter operator (+, -, *, /): *
-13.11 * 2.41 = -31.5951

上述程序将两个操作数和一个算子作为用户的输入,并根据算子进行运算。

输入来自用户使用 ReadLine()Read() 方法。要了解更多信息,请访问 C# 基本输入和输出。

该程序使用 switch case 语句进行决策。或者,我们可以使用 if-else if ladder 来执行相同的操作。


C语言

  1. 带开关的电路
  2. 换向二极管
  3. 开关类型
  4. 联系“Bounce”
  5. 万用表
  6. C# 中断语句
  7. C# continue 语句
  8. C++ 中断语句
  9. C++ switch..case 语句
  10. Python pass 语句
  11. 带有示例的 C++ Switch Case 语句
  12. C - 基本语法