Switch İfadesi
Coddy'nin C# Journey'sinin Temeller bölümünün bir parçası. Ders 27 / 70.
switch ifadesi, çok yönlü bir if ifadesi gibidir. Tek bir koşulu değerlendirmek yerine, bir değişkenin değerini birden fazla durumla karşılaştırır ve eşleşen durumla ilişkili kodu yürütür.
Bir switch deyiminin temel yapısı şöyledir:
switch (variable) {
case value1:
// variable, value1'e eşitse çalıştırılacak kod
break;
case value2:
// variable, value2'ye eşitse çalıştırılacak kod
break;
// ... daha fazla durum
default:
// Hiçbir case eşleşmezse çalıştırılacak kod
break;
}switchanahtar sözcüğünden sonra, parantez içinde test etmek istediğin değişken gelir.- Her
case, değişkenin alabileceği olası bir değeri temsil eder. - Değişkenin değeri ilgili
casedeğerine eşitse, ocaseiçindeki kod çalıştırılır.
- Boş olmayan her
case,switchyapısından çıkılmasını sağlayanbreak(veyareturn) ile bitmelidir. Bunu yazmamak derleme hatasına neden olur: C veya Java'nın aksine, C# yürütmenin bircase'ten sonrakine “düşmesine” asla izin vermez. Aşağıda gösterildiği gibi, yalnızca boş case etiketleri üst üste sıralandığında aynı kodu paylaşır.
defaultdurumu isteğe bağlıdır ve başka hiçbir durum eşleşmezse yürütülür.
İşte bir örnek:
int day = 3;
string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... diğer günler için case'ler
default:
dayName = "Invalid day";
break;
}Birden fazla durumu tek bir durumda da birleştirebilirsin:
int day = 3;
string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... diğer günler için case blokları
default:
dayName = "Invalid day";
break;
}Görev
BaşlangıçBir ay numarası (Ocak için 1, Şubat için 2 vb.) alan ve ait olduğu mevsimi yazdıran bir program oluştur. Mantık için switch deyimini kullan.
Mevsimler ve karşılık gelen ayları şunlardır:
Winter: Aralık (12), Ocak (1), Şubat (2)Spring: Mart (3), Nisan (4), Mayıs (5)Summer: Haziran (6), Temmuz (7), Ağustos (8)Autumn: Eylül (9), Ekim (10), Kasım (11)
Mevsim adını yukarıda yazıldığı şekliyle, İngilizce olarak yazdır.
Kendin dene
using System;
public class Program {
public static void Main(string[] args) {
int month = int.Parse(Console.ReadLine());
string season = "";
// Kodunuzu aşağıya yazın
Console.WriteLine(season);
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerMod Alma OperatörüArtırma/AzaltmaSonradan Artırma/AzaltmaAritmetik Kısayollar7Temel Girdi/Çıktı
Temel ÇıktıString InterpolationGirdi OkumaParseÖzet - 120'ye KadarÖzet - True veya False5Operatörler Bölüm 2
Karşılaştırma OperatörleriMantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Kendi başına pratik yap: Online C# derleyicisi