Switch İfadesi
Coddy'nin C# Journey'sinin Temeller bölümünün bir parçası. Ders 27 / 69.
switch deyimi, çok yönlü bir if deyimi 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.
İşte bir switch deyiminin temel yapısı:
switch (variable) {
case value1:
// variable, value1 değerine eşitse çalıştırılacak kod
break;
case value2:
// variable, value2 değerine eşitse çalıştırılacak kod
break;
// ... diğer durumlar
default:
// Hiçbir durum 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şken, ilgili
casedeğerine eşitse ocaseiçindeki kod çalıştırılır.
- Boş olmayan her
case,switchdeyiminden çıkanbreak(veyareturn) ile bitmelidir. Bunu yazmamak derleme hatasına yol açar: C veya Java'nın aksine, C# yürütmenin bir durumdan sonrakine "düşmesine" asla izin vermez. Aşağıda gösterildiği gibi yalnızca üst üste sıralanmış boş durum etiketleri aynı kodu paylaşır.
defaultdurumu isteğe bağlıdır ve başka hiçbir durum eşleşmediğinde 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 bu ayın ait olduğu mevsimi yazdıran bir program oluştur. Mantık için bir switch deyimi kullan.
Mevsimler ve karşılık gelen aylar:
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