Περισσότερα
Πολλαπλές περιπτώσεις σε δήλωση switch
Υπάρχει τρόπος να περνάτε μέσα από πολλαπλές δηλώσεις case χωρίς να δηλώνετε επανειλημμένα case value:
;
Ξέρω ότι αυτό λειτουργεί:
switch (value)
{
case 1:
case 2:
case 3:
//do some stuff
break;
case 4:
case 5:
case 6:
//do some different stuff
break;
default:
//default stuff
break;
}
αλλά θα ήθελα να κάνω κάτι τέτοιο:
switch (value)
{
case 1,2,3:
//Do Something
break;
case 4,5,6:
//Do Something
break;
default:
//Do the Default
break;
}
Είναι αυτή η σύνταξη που σκέφτομαι από μια διαφορετική γλώσσα ή μου διαφεύγει κάτι;
551
3
Δεν υπάρχει σύνταξη στη C++ ούτε στη C# για τη δεύτερη μέθοδο που αναφέρατε.
Δεν υπάρχει κανένα πρόβλημα με την πρώτη σας μέθοδο. Αν όμως έχετε πολύ μεγάλες περιοχές, χρησιμοποιήστε απλώς μια σειρά από δηλώσεις if.
Αυτή η σύνταξη προέρχεται από τη Visual Basic Select...Case Statement:
Δεν μπορείτε να χρησιμοποιήσετε αυτή τη σύνταξη στη C#. Αντ' αυτού, πρέπει να χρησιμοποιήσετε τη σύνταξη από το πρώτο σας παράδειγμα.
Μια λιγότερο γνωστή πτυχή του switch στη C# είναι ότι βασίζεται στον operator= και δεδομένου ότι μπορεί να αντικατασταθεί, θα μπορούσατε να έχετε κάτι τέτοιο: