Hallo zusammen,
ich habe mal eine ziemliche Basic Frage
Was ist schneller bzw was sollte man eher benutzen:
Code 1:
if (wert == "1") {
//Anweisung
}
if (wert == "2") {
//Anweisung
}
if (wert == "3") {
//Anweisung
}
if (wert == "4") {
//Anweisung
}
Code 2:
switch (wert) {
case "1":
//Anweisung
break;
case "2":
//Anweisung
break;
case "3":
//Anweisung
break;
case "4":
//Anweisung
break;
}
Die 2. Variante ist schneller. Wenn du die 1. äquivalent schreibst (mit else if), dann ist die Performance praktisch gleich, aber die switch/case-Variante wohl übersichtlicher...
ja, wenn schon if dann
if (wert == "1") {
//Anweisung
}
else if (wert == "2") {
//Anweisung
}
...
ich würde auch auf jeden fall switch in diesem fall nehmen. Hier ist klar, dass sich die abfrage genau auf eine variable bezieht. Damit schafft man gute übersichtlichkeit.
Hallo zerberos,
der Performanceunterschied ist auf heutigen Rechnern vernachlässigbar.
Wichtiger ist in diesem Falle die Lesbarkeit des Codes, von daher rate ich - wie svenson und itstata - zum switch
-Konstrukt.
m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
Aber es gibt auch andere Meinungen, ich benutze grundsätzlich die "else If - Variante".
Ich benutze switch nur, wenn ich genau weiß, dass ich es später nicht um solche Sachen
int.Parse(wert) > 5
erweitern möchte. Sonst wird es nähmlich lästig.
Gruß pdelvo
Wer naemlich mit "h" schreibt ist daemlich!
be the hammer, not the nail!
Hallo aequitas,
... du also auch 😉. SCNR!
m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
huhu,
in diesem speziellen Fall - hier werden Strings verglichen - gabs hier im Forum mal eine Analyse dazu. Ich finde den Thread nicht, aber ich hab die Aussage noch im Hinterkopf:
Eine switch über einen String wird vom Compiler als if umgesetzt. Aber einer gewissen Anzahl von Case-Klauseln wird das ganze intern in eine sortierte Liste gepackt.
😃
Xynratron
Herr, schmeiss Hirn vom Himmel - Autsch!
Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.
Hallo Xynratron,
... in eine sortierte Liste ...
... oder ein Dictionary, was bei sehr vielen Strings einen signifikanten Vorteil bedeuten kann. Allerdings wird man vermutlich nie so viele cases haben, dass man einen Unterschied spürt.
herbivore
Wer naemlich mit "h" schreibt ist daemlich!
Also ich schreib nämlich immer mit h und zwar am Ende 😄
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...