Was macht der switch befehl und was sind die vorteile gegen über if else?

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.

Woher ich das weiß:Studium / Ausbildung – Studium in theoretischer Informatik (Master)

rhavin  29.05.2023, 19:16

Das ist Unsinn. Der Compiler macht daraus bedingte Sprünge und interessiert sich nicht für Verschachtelungen.

0
Gwathraug  04.08.2023, 20:13
@rhavin

Nicht jeder Compiler macht das.

Einige Compiler (ganz besonders in Sprachen mit niedriger Abstraktionsebene) machen daraus statische Sprungtabellen, die ein hübsches Stück zackiger unterwegs sind als "schauen und springen".

0

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.

Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung

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) {...}
Woher ich das weiß:Berufserfahrung