Kann mir das bitte jemand erklären?
Antworten
Zu viele Anzeigen?
Erisan Olasheni
Punkte
1808
Ein deutlicher Unterschied:
- Die
if...else
Anweisung prüft, ob die Bedingungen in der Klammer wird ausgewertet zutrue
ofalse
- Die
switch
Anweisung prüft, ob die Gleichheit der Wert in der Klammer gegen die Wert dercase
Schlüsselwort wird ausgewertet zutrue
.
Beispiel
var a = 'hello'
Beispiel - if...else
if(a == 'hello') {
print('right!')
} else if (a == 'hi')
print('left!')
} else {
print('wrong!')
}
Beispiel - Schalter
switch(a) {
case 'hello': // a == 'hello'
print('right!')
break // You should add this
case 'hi': // a == 'hi'
print('left!')
break
default: // this executes if no equality was met in the values above.
print('wrong!')
}
// If you are not sure of either of the parenthesis value or the
// case value or you want to make more complex conditioning, you can use `true`:
var age = 18:
switch(true) {
case age < "18": // 18 < 18 == false
print("under age!");
break;
case age == 18: // 18 == 18 == true
print("right age!");
break;
default:
print("18+!");
}
Nicht registrierter Benutzer
Punkte
0
- See previous answers
- Weitere Antworten anzeigen
0 Stimmen
Nur ein Hinweis: Sie werden nicht viele hilfreiche Antworten erhalten, wenn Sie sich nicht die Zeit nehmen, die Frage richtig zu formulieren.
0 Stimmen
Macht nichts :) es ist schon geschehen.
0 Stimmen
Es gibt bereits eine Frage zu diesem Thema auf SO: Schalter vs. if-else ** Editar **<BR> Wie "lc" in einem Kommentar zu dieser Antwort feststellte, ist die obige Frage kein Duplikat, aber sie könnte Ihnen dennoch eine gute Vorstellung von der Funktionsweise geben und was zu verwenden ist, wenn diese spezielle Situation auftritt.
0 Stimmen
Allerdings ist es kein exaktes Duplikat. Die eine, die Sie verlinken, ist speziell über Fall-through und mit OR in der if-else-Anweisung zu fragen.