C# 스위치 문
C#의 switch 문은 개발자가 표현식 값에 따라 여러 코드 블록 중 하나를 실행할 수 있도록 하는 강력한 제어 흐름 메커니즘입니다. 이는 특히 여러 조건을 하나의 변수에 대해 확인해야 하는 상황에서 유용합니다. 연산자는 switch 문 내에서 사용될 수 있으며, 비교 및 논리 검사와 같은 일치 표현식에 대한 다양한 작업을 수행할 수 있습니다.
Layla Porter는 " C# 초보자를 위한 4부 - 연산자와 switch 문 "이라는 제목의 영상에서 C# 프로그래밍의 기본 개념, 특히 연산자와 switch case 문에 대해 자세히 설명합니다. 이 글은 그녀의 영상에서 영감을 받아 작성되었으며, 그녀의 설명을 분석하고 영상에 나온 코드 조각을 제공하여 switch 문과 연산자를 이해하는 데 도움을 줄 것입니다.
연산자 소개
C#에서 연산자는 데이터를 조작하고, 값을 비교하고, 조건 및 비교를 기반으로 결정을 내리는 데 매우 중요합니다 . 레일라는 먼저 산술 연산자, 비교 연산자, 논리 연산자 등 다양한 종류의 연산자에 대해 설명합니다.
콘솔의 ReadLine을 사용하여 사용자 입력을 받습니다.
레일라는 사용자 입력을 캡처하는 방법을 Console.ReadLine()을 사용하여 시연하는 것으로 시작합니다. 이 메서드는 콘솔에서 한 줄의 입력을 읽어오는데, 이는 대화형 C# 애플리케이션에 필수적입니다.
Console.WriteLine("Hello, please write any word:");
string word = Console.ReadLine();Console.WriteLine("Hello, please write any word:");
string word = Console.ReadLine();할당 연산자
위의 코드 스니펫에서 레일라는 사용자 입력에서 얻은 값을 변수 word에 저장하기 위해 할당 연산자(=)를 사용합니다. 자세한 내용은 다음과 같습니다.
string word:
string유형의word라는 변수를 선언합니다.- word = Console.ReadLine(): 할당 연산자(
=)를 사용하여 사용자로부터 입력된 값을(Console.ReadLine()로부터 얻은 것)word변수에 할당합니다.
이 컨텍스트에서 할당 연산자는 사용자 콘솔에 입력한 값으로 변수 word의 값을 설정하는 데 사용됩니다. 할당 연산자는 프로그래밍에서 매우 중요한 요소입니다. 변수에 값을 저장하는 데 사용되며, 이를 통해 프로그램 실행 전반에 걸쳐 해당 값을 사용하고 조작할 수 있습니다.
산술 연산자
C#의 산술 연산자는 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산과 같은 기본적인 수학 연산을 수행합니다. 이 연산자들은 간단하면서도 모든 프로그래밍 언어에 필수적인 요소입니다. 레일라는 자신의 영상에서 이러한 내용을 다루지 않는데, 그 이유는 이것들이 실제 수학 문제에서와 똑같은 값을 반환하는 간단한 수학 연산이기 때문입니다.
비교 연산자
C#의 비교 연산자를 사용하면 값을 비교하고 이러한 비교를 기반으로 결정을 내릴 수 있습니다. 레일라는 크다(>), 작다(<), 크거나 같다(>=), 작거나 같다(<=), 같음(==), 다름(!=) 연산자를 소개합니다.
조건 논리문에서 비교 연산자 사용하기
레이라 포터는 자신의 영상에서 C#의 조건 논리를 사용하여 사용자가 입력한 단어의 길이를 판별하는 방법을 자세히 설명합니다. 그녀는 2:10에 Length 속성을 사용하여 문자열의 길이를 확인하는 if 문 기본 구조를 시연하면서 시작합니다. 이 속성은 문자열의 문자 수를 반환합니다.
if (word.Length < 6)
{
Console.WriteLine("That's a short word.");
}if (word.Length < 6)
{
Console.WriteLine("That's a short word.");
}첫 번째 조건부 검사는 단어의 길이가 여섯 글자 미만인지 확인하기 위해 작다(<) 연산자를 사용합니다. 조건이 참이면 프로그램은 "짧은 단어입니다."라고 출력합니다. 이 코드 부분은 짧은 단어를 효과적으로 분류하는 데 도움이 됩니다.
다음으로 4:00에 레일라 포터는 크거나 같다(>=) 연산자와 논리 AND(&&) 연산자를 사용하여 결합된 조건과 함께 else if 문을 사용하는 개념을 소개합니다. 결합 조건은 단어 길이가 6자 이상 11자 미만인지 확인합니다. 두 조건이 모두 충족되면 프로그램은 "중간 길이의 단어입니다."라고 출력합니다. 이는 여러 조건을 조합하여 단어 길이에 따라 더욱 세밀한 결정을 내릴 수 있음을 보여줍니다.
else if (word.Length >= 6 && word.Length < 11)
{
Console.WriteLine("That's a medium length word.");
}else if (word.Length >= 6 && word.Length < 11)
{
Console.WriteLine("That's a medium length word.");
}마지막으로, 라일라는 4분 40초에 이전 조건을 충족하지 않는 다른 모든 경우를 처리하기 위해 else 문을 사용하는 방법을 설명합니다. 이 코드 부분은 단어 길이가 11자 이상일 경우 "That's a long word."라고 출력합니다. else 문을 사용하면 앞의 조건에 의해 처리되지 않은 모든 입력이 적절하게 처리됩니다.
else
{
Console.WriteLine("That's a long word.");
}else
{
Console.WriteLine("That's a long word.");
}이제 Layla는 프로그램을 실행하고(5:15) 위의 조건문과 비교 연산자를 사용하여 분류할 단어들을 입력합니다.

논리 연산자
논리 연산자 &&, ||, !은 C#에서 복잡한 의사결정 논리를 만들기 위해 여러 조건을 결합할 수 있도록 합니다. 6분 24초에 Layla는 이러한 연산자들이 어떻게 함께 작용하여 조건문을 만드는지 설명합니다.
레이라 포터는 자신의 영상에서 "개", "고양이", "금붕어"라는 동물 목록에서 다른 하나를 고르는 미니 게임을 소개합니다. 금붕어는 물에 살고 포유류가 아니기 때문에 다른 동물들과 다른 것으로 간주됩니다. 레일라(6:55)는 Console.ReadLine()을 사용하여 사용자가 선택을 입력하도록 요청하고, 문자열을 비교할 때 대소문자 구분 문제를 방지하기 위해 ToLower() 메소드를 사용하여 입력을 소문자로 변환합니다:
Console.WriteLine("Pick the odd one out - dog, cat, goldfish");
string oddOne = Console.ReadLine().ToLower();Console.WriteLine("Pick the odd one out - dog, cat, goldfish");
string oddOne = Console.ReadLine().ToLower();7시 32분에 라일라는 비교 연산자를 사용하여 사용자의 입력을 시스템과 미리 정의된 동물 목록과 비교하는 방법을 설명합니다.
if (oddOne != "dog" && oddOne != "cat")
{
Console.WriteLine("You chose the odd one out!");
}if (oddOne != "dog" && oddOne != "cat")
{
Console.WriteLine("You chose the odd one out!");
}코드는 같지 않다(!=) 연산자를 사용하여 입력이 "dog" 및 "cat"과 일치하지 않는지를 확인합니다. 이 조건을 논리 AND(&&) 연산자로 결합하여 두 조건 모두가 참이어야 명령문이 만족되도록 보장합니다. 입력값이 "개"도 "고양이"도 아니면 "금붕어"여야 하며, 프로그램은 "이상한 것을 고르셨군요!"라고 출력합니다.
else
{
Console.WriteLine("Better luck next time!");
}else
{
Console.WriteLine("Better luck next time!");
}사용자의 입력이 이 조건을 만족하지 않는 경우, 즉 입력이 "dog" 또는 "cat"인 경우, else 블록이 실행되고 프로그램은 "Better luck next time!"을 출력합니다.

Layla(8:30)는 조건문에서 논리 연산자가 어떻게 작동하는지 이해하는 것이 얼마나 중요한지 더욱 자세히 설명합니다. AND 연산자(&&)는 두 조건 모두가 참이어야 하며, OR 연산자는 (||)는 단 하나의 조건만 충족하면 됩니다. 그녀(9:05)는 이러한 연산자를 사용하면 프로그램의 동작이 어떻게 바뀔 수 있는지 보여주면서 C#에서 논리 연산자를 사용할 때의 미묘한 차이와 잠재적인 함정을 강조합니다. 이 설명은 시청자들이 프로그램에서 조건 논리를 효과적으로 사용하는 방법을 이해하는 데 도움이 됩니다.
C# switch case 문 소개
switch 문은 C#에서 여러 분기 조건문을 구현하는 또 다른 방법을 제공하며, 여러 개의 if-else 문을 사용하는 것보다 가독성이 높고 효율적인 경우가 많습니다. C#에서 'case c'는 switch 문 내의 조건을 지정하는 데 사용되며, 이를 통해 비교 대상이 동일한 유형의 값임을 보장합니다.
Layla Porter는 자신의 비디오(12:38)에서 주어진 단어의 길이 범주를 결정하기 위해 if-else 문에서 switch 문으로 전환하는 과정을 보여줍니다. 그녀는 switch 문을 사용하면 코드가 더 깔끔하고 효율적이 될 수 있다고 설명합니다.
해당 코드 조각은 다음과 같습니다.
switch (word.Length)
{
case < 6:
Console.WriteLine("That's a short word!");
break;
case int length when 6 <= length && length < 11:
Console.WriteLine("That's a medium length word!");
break;
default:
Console.WriteLine("That's a long word!");
break;
}switch (word.Length)
{
case < 6:
Console.WriteLine("That's a short word!");
break;
case int length when 6 <= length && length < 11:
Console.WriteLine("That's a medium length word!");
break;
default:
Console.WriteLine("That's a long word!");
break;
}레일라는 switch 문은 여러 개의 case로 구성되며, 각 case는 평가 대상 변수에 대한 가능한 값 또는 값의 범위를 나타낸다고 설명합니다. 이 경우 변수는 word.Length입니다.
Case < 6 : 첫 번째 case는 단어의 길이가 6보다 작은지 확인합니다. 이 조건이 충족되면 프로그램은 "That's a short word!"를 출력하고 break 문을 사용하여 switch 블록을 종료합니다. 하나의 사건에 여러 개의 진술이 있을 수 있다는 점을 기억하세요.
6 <= length && length < 11인 경우 int length의 경우 : 두 번째 경우는 더 복잡합니다. 이는 C# 7.0에 도입된 패턴 매칭 기능을 사용합니다. 사례는
int length으로 정의되며 추가 조건을 지정하는 when 절이 이어집니다: 길이는 6 이상이고 11 미만이어야 합니다. 패턴이 일치하면 프로그램은 "중간 길이의 단어입니다!"를 출력하고 switch 블록에서 종료됩니다.- 기본값 : 앞서 제시된 조건 중 어느 것도 충족되지 않으면 기본값이 실행됩니다. 이는 if-else 구조에서 else 문과 같은 역할을 합니다. 이 경우 프로그램은 "정말 긴 단어네요!"라고 출력하고 switch 블록을 종료합니다.
Layla(15:45)는 특히 여러 조건을 다룰 때 if 문 대신 switch 문을 사용하면 코드를 더 읽기 쉽고 관리하기 쉬워지기 때문에 이점이 있다고 강조합니다. 또한 그녀는 C# 컴파일러가 switch 문을 다르게 최적화하여 실행 속도를 높이기 때문에 switch 문이 더 효율적일 수 있다고 언급합니다.
스위치 표현식(패턴 매칭)
switch 표현식은 C#의 새로운 기능으로, 간단한 값 기반 결정을 위한 보다 간결한 구문을 제공합니다. Layla Porter의 영상 16분 25초쯤에서 그녀는 C#에서 "switch 표현식" 또는 "패턴 매칭 switch"라고 불리는 최신 switch 문을 소개합니다. 이러한 유형의 switch 문은 값을 직접 반환하므로 코드가 더 간결하고 읽기 쉬워집니다.
그녀는 (오후 5시경) switch 표현식 구문을 사용하여 if-else 문을 다시 작성하는 방법을 보여주는 것으로 시작합니다. switch 문은 동작을 수행하는 대신 조건에 따라 변수에 값을 할당합니다. 예를 들어, 이 예시를 보세요:
// Example of Switch Expression
string message = word.Length switch
{
< 6 => "That's a short word!",
< 11 and >= 6 => "That's a medium length word!",
_ => "That's a long length word!"
};
Console.WriteLine(message);// Example of Switch Expression
string message = word.Length switch
{
< 6 => "That's a short word!",
< 11 and >= 6 => "That's a medium length word!",
_ => "That's a long length word!"
};
Console.WriteLine(message);Layla(17:31)는 위 코드에 대해 다음과 같이 설명합니다.
String message = word.Length switch: 문자열 변수 message를 초기화하고
word.Length을 기반으로 switch 표현식을 시작합니다.< 6 => "That's a short word!":
word.Length이 6 미만이면 작다 연산자<를 사용하여 "그것은 짧은 단어입니다!"를 반환합니다.< 11 and >= 6 => "That's a medium length word!":
word.Length이 포함하여 6에서 10 사이면and를 사용하여 "그것은 중간 길이의 단어입니다!"를 반환합니다.- _ => "단어 길이가 너무 길어요!" : 밑줄은 기본값으로 사용되며, 앞의 조건 중 어느 것도 충족되지 않으면 "단어 길이가 너무 길어요!"를 반환합니다.
레이라는 이러한 구문이 가독성과 효율성을 향상시키기 위해 설계된 최신 C# 기능의 일부라고 강조합니다. 여러 조건을 간결하게 처리하는 데에는 기존의 if-else 문보다 switch 문이 선호됩니다.
그녀는 19시 30분에 코드를 실행했고 출력 결과는 if-else 문을 사용했을 때와 동일했습니다.

결론
레이라 포터의 영상은 연산자, 조건문, switch 문과 같은 필수 개념을 다루면서 C# 프로그래밍 초보자에게 탄탄한 기초를 제공합니다. 그녀의 설명과 예시를 따라가다 보면 초보자들은 C#에서 데이터를 조작하고 프로그램 흐름을 효과적으로 제어하는 방법에 대한 실질적인 통찰력을 얻을 수 있습니다.
이러한 기본 개념을 이해하고 제공된 예제를 통해 연습하면 C#을 처음 접하는 사람들도 더 복잡한 프로그래밍 작업을 위한 탄탄한 기초를 다질 수 있습니다. 그녀의 유튜브 채널 에서 더 많은 C# 관련 영상을 확인해 보세요.




