63 else-if abfragen oder doch lieber switch??
-
hi.
ich habe ein programm, in dem ich bis jetzt ca. 63 else-if abfragen hab.
jetzt frage ich mich, ob es nicht günstiger ist eine switch anweisung zu benutzen.was meint ihr? oder soll ich die else-if abfragen so lassen?
mfg oLf
-
Dass du eine Abfrage mit 63 Optionen benötigst deutet auf eine grundsätzliche Schwäche im Programmentwurf hin, unabhängig davon, ob du das mit if/else oder switch/case realisierst.
Was genau fragst du denn da ab, was soll dein Programm machen?
-
Dass du eine Abfrage mit 63 Optionen benötigst deutet auf eine grundsätzliche Schwäche im Programmentwurf hin...
Wird da einer nach Lines of Code bezahlt?

-
moin meister ...
wer sagt was von Optionen ? Wenn ich mal nur die Fehlerauswertung von API Funktionen betrachte ist das durchaus realistisch.
Keine Ahnung was der Kompiler aus switch und if macht aber der Übersicht halber
würde ich denn switch nehmen.mfg
RB
-
Hi olf,
was genau machst Du denn da?
Sowohl Jansen als auch RED-BARON könnten recht haben. Aber solange wir nicht wissen, was Du versuchst, können wir Dir nicht sagen, was besser ist, respektive ob Du das nicht tatsächlich einfacher lösen kannst.Grundsätzlich halte auch ich 63 else-ifs, oder switch-cases für einen Grund das Ganze in ein abstraktes Modell zu wandeln (sofern möglich!).
-
hallo kollegen,
eine if else ist genaus das selbe wie eine switch case, nur das man bei einer switch case eben nur ordinaltypen auswerten kann, wobei man bei if else auch z. b. eine zeichenfolge auswerten kann. aber der compiler macht aus beidem genau das selbe...
bernd
-
aber der compiler macht aus beidem genau das selbe...
Da hast du aber keine Ahnung. Aus einem switch/case kann der Compiler eine Sprungtabelle generieren.
-
Hallo,
Da hast du aber keine Ahnung. Aus einem switch/case kann der Compiler eine Sprungtabelle generieren.
Deswegen ist eine switch-Fallunterscheidung auch schneller. Wenn das Ergebnis deiner Abfrage ordinalen Typs würde ich grundsätzlich mit switch arbeiten.
Das hat aber eigentlich nichts mit dem Builder zu tun.
MfG
tuküe