Nested Switch Statements
Coddy C# 여정의 논리 및 흐름 섹션에 포함된 레슨 — 66개 중 11번째.
중첩된 switch 문을 사용하면 더 복잡한 의사 결정을 위해 하나의 switch 문을 다른 switch 문 안에 배치할 수 있습니다.
기본적인 중첩 switch 문을 만듭니다:
string department = "Sales";
string level = "Senior";
switch (department)
{
case "Sales":
switch (level)
{
case "Junior":
Console.WriteLine("Sales Junior");
break;
case "Senior":
Console.WriteLine("Sales Senior");
break;
}
break;
case "IT":
switch (level)
{
case "Junior":
Console.WriteLine("IT Junior");
break;
case "Senior":
Console.WriteLine("IT Senior");
break;
}
break;
}다음 case로 넘어가는 것을 방지하기 위해 항상 break 문을 포함하세요.
적절한 들여쓰기를 사용하여 코드를 읽기 쉽게 유지하는 것을 잊지 마세요.
챌린지
중급다음과 같은 calculatePrice라는 메서드를 생성하세요:
- 세 개의 매개변수를 받습니다:
- productType (string): "Electronics", "Clothing", 또는 "Food" 중 하나
- productTier (string): "Basic", "Premium", 또는 "Luxury" 중 하나
- basePrice (int): 제품의 시작 가격
- 다음 규칙을 적용한 후 최종 가격(int)을 반환합니다:
- Electronics의 경우:
- Basic: 기본 가격에 $50 추가
- Premium: 기본 가격에 $100 추가
- Luxury: 기본 가격에 $250 추가
- Clothing의 경우:
- Basic: 기본 가격에 $10 추가
- Premium: 기본 가격에 $50 추가
- Luxury: 기본 가격에 $100 추가
- Food의 경우:
- Basic: 기본 가격에 변동 없음
- Premium: 기본 가격에 $15 추가
- Luxury: 기본 가격에 $30 추가
- 그 외 다른 제품 유형이나 등급의 경우, 기본 가격을 변경 없이 반환합니다
- Electronics의 경우:
직접 해보기
public class CalculatePrice
{
// calculatePrice 메서드를 구현하세요
public static int calculatePrice(string productType, string productTier, int basePrice)
{
// 여기에 코드를 작성하세요
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리 및 흐름의 모든 레슨
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety