산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C# switch 문

C# switch 문

이 기사에서는 C#의 switch 문과 예제와 함께 사용하는 방법에 대해 알아봅니다.

Switch 문은 C#에서 if...else if 문을 대체하는 데 사용할 수 있습니다. if...else if 문보다 switch를 사용하는 이점은 switch를 사용하면 코드가 훨씬 깨끗하고 읽기 쉬워진다는 것입니다.

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 , …). 일치하는 값을 찾으면 해당 케이스 안의 문장이 실행됩니다.

그러나 위의 경우 중 어느 것도 표현식과 일치하지 않으면 default 내부의 명령문이 블록이 실행됩니다. switch 끝에 있는 기본 문은 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 사다리를 사용하여 동일한 작업을 수행할 수 있습니다.


C 언어

  1. 스위치가 있는 회로
  2. 정류 다이오드
  3. 스위치 유형
  4. "바운스"에 문의
  5. 멀티미터
  6. C# break 문
  7. C# 계속 문
  8. 파이썬 통과 문
  9. EXAMPLE이 있는 C++ Switch Case 문
  10. C - 기본 구문