C# ile Swtich Case kullanımı konusunda daha önce bir yazı paylaşmıştım, ama bu yazı sadece giriş seviyesinde ve temel uygulamaları konu aldığı için iç içe switch case kullanımı konusunda da bir başlık açmak istedim.
C# programlama dilinde iç içe switch case kullanılarak karar mekanizmaları kurulabilir. Pratikte uygulanabilirliği pek olmasa da ve kod okunabilirliği çok düşük olsa da teorik olarak mümkün olması açısından bu uygulamanın da faydalı olduğunu düşünüyorum.
Örneğin kadınlar ile erkeklerin ideal kilolarını bulmak için aşağıdaki gibi bir hayali algoritmamız olsun.
- Almanya'da yaşayan erkekler için ideal kilo, boylarının yarısından 5 fazlası, kadınlar için ise boylarının yarısının 10 eksiği
- Jamaika'da yaşayan erkekler için ideal kilo, boylarının yarısından 12 fazlası, kadınlar için ise boylarının yarısının 3 eksiği
olsun. Bu problemi iç içe if'ler kullanarak yapabileceğimiz gibi iç içe switch case ifadeleleri kullanarak da hazırlayabiliriz.
String ulke = "Jamaika";
String cinsiyet = "Erkek";
double boy = 170;
double idealKilo = 0;
switch(ulke)
{
case "Jamaika":
{
switch (cinsiyet)
{
case "Erkek":
idealKilo = (boy/2) + 5;
break;
case "Kadın":
idealKilo = (boy/2) - 10;
break;
}
break;
}
case "Almanya":
{
switch (cinsiyet)
{
case "Erkek":
idealKilo = (boy/2) + 12;
break;
case "Kadın":
idealKilo = (boy/2) - 3;
break;
}
break;
}
}
System.Console.WriteLine(idealKilo); //
Önceki yazılarımdan bazıları için;
bkz: C# Switch Case kullanımı ve örnekleri
bkz: Programlama dillerinde if ile switch case arasındaki fark nedir?
bkz: C# iç içe if kullanımı ve örnekleri
bkz: C# if - else if - else kullanımı ve örnekleri
bkz: Metodlarda void ile return ifadeleri arasındaki fark nedir?
bkz: C# ile pürüzlü dizi (jagged array) kullanımı