Danke für die Ergänzung, stimmt natürlich.
>
if (Ausdruck == 1)
Das passiert mir heute auch sehr oft, weil ich in PHP und VB(A) schreibe.
> select ist also meist schneller.
Naja, bei diesen kleinen Sachen dürfte man den Unterschied noch nicht spüren.
Bei größeren Anwendungen (aber da gehe ich jetzt mal nur von mir aus) ist mir so ein Switch auch zu starr. Mit If bin ich da wesentlich flexibler, weil man doch sehr häufig verschachteln muß.
Bei der Performance kann man die Geschwindigkeit dann schon wieder optimieren, wenn man konsequent deklariert und z. B. Objektvariablen wieder zerstört - was leider oft vergessen wird.
> Sollte der Ausdruck auch noch
> Nebenwirkungen haben (weil z.B: noch eine Methode aufgerufen wird, die
> irgendwelche Werte speichert), sind beide Codestücke nicht mal mehr
> äquivalent.
Ja, stimmt auch. Aber auch hier sehe ich Vorteile bei If.
> Ein weiterer entscheidender Unterschied:
> bei der if elseif elseif ... Variante können auch komplett verschiedene
> Ausdrücke verwendet werden, da ja bei jedem if erneut ausgewertet wird.
Solange man den Datentyp beachtet und ggf. Fehler abfängt, ja. Aber das sollte ja eigentlich sowieso der Fall sein.