C# COMPLETE COURSE

image description

ΕΝΟΤΗΤΑ 9 - SWITCH CASE

INTRODUCTION

Σε αυτό το δωρεάν μάθημα C#, θα αναλύσουμε το Switch που μπορούμε να το θεωρήσουμε μια εναλλακτική αλλά ταυτόχρονα δομημένη προσέγγιση (σε σύγκριση με το if-else) στον έλεγχο των τιμών που μπορεί να περιέχει μια μεταβλητή. Θα δούμε αρκετά απλά παραδείγματα για να καταφέρουμε μέχρι το τέλος της ενότητας να έχουμε κατανοήσει πλήρως τις δυνατότητες του.

THE switch STATEMENT

Με βάση το documentation της Microsoft (https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/statements/selection-statements), το switch θα εκτελέσει έναν συγκεκριμένο κώδικα εφόσον ικανοποιείται η συνθήκη που έχουμε ορίσει. Αν και σαν θεωρία είναι πολύ κοντά στην λογική του if-else, συντακτικά το switch είναι πολύ διαφορετικό και με αρκετά ενδιαφέρουσες επιλογές.

Η σύνταξη του switch ξεκινάει με την λέξη κλειδί switch και αμέσως μετά ακολουθεί μια παρένθεση μέσα στην οποία δηλώνουμε την μεταβλητή που θέλουμε να ελέγξουμε. Προσέξτε αυτή τη διαφορά σε σύγκριση με το if, στην παρένθεση του if δηλώνουμε μια συνθήκη ενώ του switch απλά το όνομα της μεταβλητής.

Το επόμενο βήμα είναι να ορίσουμε τις διάφορες περιπτώσεις για τις οποίες θέλουμε να κάνουμε τον έλεγχο και οι οποίες ονομάζονται cases. Αν το case έχει αποτέλεσμα true τότε θα εκτελεστεί ο κώδικας που ανήκει στο συγκεκριμένο case. Κάθε case ξεκινάει με την λέξη κλειδί case και ολοκληρώνεται με την λέξη κλειδί break η οποία και δηλώνει ότι το πρόγραμμα θα πρέπει να βγει έξω από το case και να συνεχίσει με την εκτέλεση του υπόλοιπου προγράμματος.

Η λέξη κλειδί default, στο τέλος της λίστας των cases, θα ενεργοποιηθεί όταν κανένα από τα cases που προηγούνται δεν εκτελεστεί.

Δωρεάν Μαθήματα C#

Στο απλό πρόγραμμα που ακολουθεί, προσπαθούμε να αναθέσουμε μια περιγραφή στην μεταβλητή gradeDescription ανάλογα με τον βαθμό που έχει πάρει ο μαθητής.

Program.cs

Output

Δωρεάν Μαθήματα C#

Το break, όπως ήδη έχουμε αναφέρει, δηλώνει το τέλος της εκτέλεσης ενός συγκεκριμένου κώδικα που ανήκει στο case και επιστροφή πίσω στο κύριο πρόγραμμα. Αν δεν το δηλώσουμε τότε, θα εκτελεστούν ταυτόχρονα δύο ή και περισσότερα cases μέχρι το πρόγραμμα να βρει το πρώτο break. Αυτό μπορούμε να το χρησιμοποιήσουμε προς όφελος μας. Συνήθως λοιπόν παραλείπουμε το break όταν για δύο ή και περισσότερες συνθήκες θέλουμε να εκτελέσουμε τον ίδιο κώδικα. Για παράδειγμα, στο παρακάτω πρόγραμμα ελέγχουμε αν η τιμή μιας μεταβλητής είναι μεγαλύτερη του 100 και ταυτόχρονα μικρότερη του 0. Και για τις δύο αυτές περιπτώσεις θα εκτελεστεί το ίδιο μήνυμα.

Program.cs

Output

Δωρεάν Μαθήματα C#

Πριν κλείσουμε, θα αναφερθούμε σε ένα επιπλέον χαρακτηριστικό που έχουν τα switch και ονομάζεται case guard. Αυτό που καταφέρνουμε να προσθέσουμε στο κάθε case με το case guard είναι ένας επιπλέον έλεγχος με μια ακόμη συνθήκη. Η πρόσθεση της επιπλέον συνθήκης γίνεται με την λέξη κλειδή when. Στο παρακάτω απλό πρόγραμμα ελέγχουμε ταυτόχρονα αν οι τιμές δύο μεταβλητών είναι θετικές και αν είναι ίσες μεταξύ τους. Αν ισχύουν αυτές οι δύο προυποθέσεις τότε ο τελικός χρήστης θα λάβει το ανάλογο μήνυμα ενώ σε οποιαδήποτε άλλη περίπτωση θα λάβει διαφορετικό μήνυμα.

Program.cs

Output

Δωρεάν Μαθήματα C#

ΕΙΣΗΓΗΤΗΣ

Merry Jhonson

Μιχάλης Κασάπογλου

Ο Μιχάλης Κασάπογλου, είναι ένας από τους πιο έμπειρους τεχνικούς εκπαιδευτές στον χώρο του προγραμματισμού με πάνω από 20 χρόνια εμπειρία. Έχει εργαστεί σαν IT Operations Manager, Senior Programmer, και Training Team Leader ενώ κατέχει και αρκετές πιστοποιήσεις που καλύπτουν ένα μεγάλο φάσμα τεχνολογιών στο προγραμματισμό, σε βάσεις δεδομένων και cloud. Στον ελεύθερο του χρόνο διατηρεί ένα τεχνολογικό blog στο οποίο θα βρείτε αρκετά δωρεάν μαθήματα προγραμματισμού για αρχάριους.

loader