Was macht der switch befehl und was sind die vorteile gegen über if else?
4 Vorteile wären toll ich weiß nur das der Code übersichtlicher wird :)
3 Antworten
Das es übersichtlicher ist, ist eigentlich der hauptsächliche Vorteil von einer Switch-Case Verzweigung. Deinem Compiler erspart es noch ein wenig arbeit, weil es nicht n-fach verschachtelt ist und damit effizienter.
Den Compiler gibt es nicht. Was die Frage betrifft
https://stackoverflow.com/questions/767821/is-else-if-faster-than-switch-case
Deine Hausaufgaben kannst du immer noch selbst machen, daher weise ich dich einfach mal darauf hin: https://learn.microsoft.com/de-de/dotnet/csharp/language-reference/statements/selection-statements
Vergleiche selbst und ziehe deine eigenen Schlüsse daraus.
Der einzige Vorteil von Switch bei gleichem Vergleichsobjekt ist ein etwas übersichtlicherer Sourcecode. Der Vorteil von if / elsif /else ist, dass man jeder zeit was anderes Vergleichen kann:
Eine Sache wird verglichen:
switch (obst) {
case apfel:
case birne:
/* hier apfel oder birne */
break;
case melone:
/* hier nur melone */
break;
}
Unterschiedliche Vergleiche möglich:
if (apfel == birne) {...}
elsif (melone == kirsche) {...}
Das ist Unsinn. Der Compiler macht daraus bedingte Sprünge und interessiert sich nicht für Verschachtelungen.