Sehr geehrte Brotfische,
ich stelle euch hiermit ein Tutorial für die Anfänger- & Fortgeschrittene Benutzung von Switch & Case.
die einfache Benutzung.
new Var = 10; // hier wird der Variable ein Wert gegeben
if(Var > 10) // Wenn Var größer als 10 ist.
if(Var < 10) // Wenn Var kleiner als 10 ist.
if(Var == 10) // Wenn Var gleich 10 ist.
nun die einfache Switch & Case Benutzung
switch(Var)
{ //Immer eine Klammer sonst gibt es Errors!!
case 0: // Wenn Var gleich 0 ist
case 1..4: // Wenn Var größer gleich 1 & kleiner gleich 4 ist sprich (if(Var >= 1 && Var <= 4))
//ab hier etwas schwerer!
case 5..7,8..10: // Wenn Var größer gleich 5 & kleiner gleich 7 ist ODER größer gleich 8 & kleiner gleich 10 sprich ( if(Var >= 5 && Var <= 7 || Var >= 8 && Var <= 10) )
case 0,1,2..10: // Wenn Var gleich 0,1 oder größer gleich 2 & kleiner gleich 10 ist!
default: // wenn Var nicht zwischen den oben benannten Werten liegt! d.h. Weder: 0,1-4,5-7,8-10,0,1,2-10!!!
}
Ein Beispiel mit print!
switch(Var)
{
case 0: print("Var == 0!");
case 1..4: print("Var liegt zwischen 1 & 4");
case 5..7,8..10: print("Var liegt zwischen 5 & 7 oder 8 & 10");
case 0,1,2..10: print("Var ist entweder 0,1 oder liegt zwischen 2 & 10");
default: print("Var liegt nicht im Bereich der oben benannten Cases!");
}
Ihr könnt Switch & Case gut bei Abfragen einsetzen wenn ihr keine lange if-Abfrage machen wollt z.B. (Achtung: der Inhalt muss dann gleich sein)
//statt
if(Var == 1 || Var == 2 || Var == 5 || Var == 7) //Inhalt
//geht es einfacher so
switch(Var)
{
case 1,2,5,7: //Inhalt
}
Nun wenn ihr mehrere Variablen nachfragen wollt & sie das selbe bewirken sollen!
Z.B. Enum-Abfrage
// ab hier aufpassen das ist vllt etwas kompliziert
new l = Acc[...][Var1]; //z.B. Leader
new m = Acc[...][Var2]; //z.B. Member
new c = Acc[...][Var3]; //z.B. Co-Leader
switch(m || l || c) // wenn m, c oder l
{
case 0: ... // == 0 ist
usw...
}
Desweiteren geht auch natürlich in der Case-Abfrage eine normale if-Abfrage
Wichtig:
Innerhalb einer switch-Abfrage und Außerhalb einer Case-Abfrage kann man keine anderen Codes einfügen!!!
Ein Beispiel:
//so ist es richtig
switch(...)
{
case 0:
{
//code
}
}
//--------------
//so ist es falsch!
switch(...)
{
//code
case 0:
{
//code
}
//code
}
Es wird um Kritik gebeten.
MfG [aKoE]nanyo
/Edit 1/
switch(m l c) eingefügt
/Edit 2/
Etwas für Switch geaddet
/Edit 3/
Überschrift & Text klein verändert