Menu
Coddy logo textTech

Nested Switch Statements

Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 11 / 66.

İç içe switch deyimleri, bir switch deyimini başka birinin içine yerleştirerek daha karmaşık karar verme işlemleri yapmanızı sağlar.

Temel bir iç içe switch oluşturun:

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;
}

Sonraki case'e akışın devam etmesini önlemek için her zaman break deyimleri ekleyin.

Kodunuzu okunabilir tutmak için uygun girintileme kullanmayı unutmayın.

challenge icon

Görev

Orta

calculatePrice adında bir metot oluşturun ki:

  1. Üç parametre alsın:
    • productType (string): "Electronics", "Clothing" ya da "Food"
    • productTier (string): "Basic", "Premium" ya da "Luxury"
    • basePrice (int): Ürünün başlangıç fiyatı
  2. Bu kuralları uyguladıktan sonra nihai fiyatı (int) döndürsün:
    • Electronics için:
      • Basic: Temel fiyata $50 ekleyin
      • Premium: Temel fiyata $100 ekleyin
      • Luxury: Temel fiyata $250 ekleyin
    • Clothing için:
      • Basic: Temel fiyata $10 ekleyin
      • Premium: Temel fiyata $50 ekleyin
      • Luxury: Temel fiyata $100 ekleyin
    • Food için:
      • Basic: Temel fiyata değişiklik yok
      • Premium: Temel fiyata $15 ekleyin
      • Luxury: Temel fiyata $30 ekleyin
    • Herhangi bir diğer ürün tipi veya katman için, temel fiyatı değiştirmeden döndürün

Kopya kağıdı

İç içe switch deyimleri, karmaşık karar alma işlemleri için bir switch deyimini diğerinin içine yerleştirmenizi sağlar:

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;
}

Sonraki case'e akışın devam etmesini (fall-through) önlemek ve okunabilirlik için uygun girintilemeyi korumak amacıyla her zaman break deyimleri ekleyin.

Kendin dene

public class CalculatePrice
{
    // calculatePrice metodunu uygulayın
    public static int calculatePrice(string productType, string productTier, int basePrice)
    {
        // Kodu buraya yazın
        
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler