분기문: switch

Fruit·2023년 3월 28일

✨ Hello C#!

목록 보기
14/34
post-thumbnail

🌸 switch 문

  • switch 문에 조건식: 정수, 문자열 형식, 데이터 형식(C# 7.0 이상)
using System;

namespace Switch
{
    class MainApp
    {
        static void Main(string[] args)
        {
            string day = "월";

            switch (day)		// 조건식: (day)
            {
                case "일":		// day == "일" 이 참이면 수행
                    Console.WriteLine("일요일 입니다.");
                    break;
                case "월":
                    Console.WriteLine("월요일 입니다.");
                    break;
                case "화":
                    Console.WriteLine("화요일 입니다.");
                    break;
                default:		// default 절은 생략 가능
                    Console.WriteLine("수, 목, 금, 토요일 중 하나 입니다.");
                    break;
            }
        }
    }
}

[실행 결과]
월요일 입니다.

✔️ when 절

  • 추가적인 조건 검사를 수행할 수 있다.
using System;

namespace Switch
{
    class MainApp
    {
        static void Main(string[] args)
        {
            object obj = 123;

            switch (obj)
            {
                case int i when i > 0:
                    Console.WriteLine($"{i}는 int 형식이고 양수입니다.");
                    break;
                case int i when i < 0:
                    Console.WriteLine($"{i}는 int 형식이고 음수입니다.");
                    break;
                case float f:
                    Console.WriteLine($"{f}는 float 형식입니다.");
                    break;
            }
        }
    }
}

[실행 결과]
123int 형식이고 양수입니다.



🌸 switch 식

switch 문switch 식
switch (조건식)(조건식) switch
case :=>
break;,
default_

switch 문

using System;

namespace Switch
{
    class MainApp
    {
        static void Main(string[] args)
        {
            bool repeated = true;

            int input = Convert.ToInt32(Console.ReadLine());
            int score = (int)(Math.Truncate(input / 10.0) * 10);

            string grade = "";

            switch (score)
            {
                case 90 when repeated:
                    grade = "B+";
                    break;
                case 90:
                    grade = "A";
                    break;
                case 80:
                    grade = "B";
                    break;
                case 70:
                    grade = "C";
                    break;
                default:
                    grade = "D";
                    break;
            }
            Console.WriteLine("grade: {0}", grade);
        }
    }
}

switch 식

using System;

namespace SwitchExp
{
    class MainApp
    {
        static void Main(string[] args)
        {
            bool repeated = true;

            int input = Convert.ToInt32(Console.ReadLine());
            int score = (int)(Math.Truncate(input / 10.0) * 10);

            string grade = score switch
            {
                90 when repeated => "B+",
                90 => "A",
                80 => "B",
                70 => "C",
                _ => "D"
            };
            Console.WriteLine("grade: {0}", grade);
        }
    }
}

▪ 사진 출처: Pixabay - Tim

profile
🌼인생 참 🌻꽃🌻 같다🌼

0개의 댓글