Ο τύπος char της C# είναι μια ποσότητα 16 bit που αναπαριστά τα μικρότερα διευθυνσιοδοτήσιμα συστατικά του κειμένου.
Πολλά char μπορούν να σχηματίσουν μια συμβολοσειρά όπως η "word" ή τα char μπορούν να
υποστούν επεξεργασία ανεξάρτητα. Τα literal τους έχουν μονά εισαγωγικά, π.χ. 'A'.
Τα char της C# υποστηρίζουν κωδικοποίηση UTF-16 Unicode, οπότε εκτός από το λατινικό σύνολο χαρακτήρων
μπορούν να αναπαρασταθούν σχεδόν όλα τα συστήματα γραφής που χρησιμοποιούνται στον κόσμο,
π.χ. το ελληνικό γράμμα 'β'.
Υπάρχουν πολλές ενσωματωμένες μέθοδοι βιβλιοθήκης για την εξέταση και τον χειρισμό των char. Αυτές
μπορούν να βρεθούν ως στατικές μέθοδοι της κλάσης System.Char.
Τα char χρησιμοποιούνται μερικές φορές σε συνδυασμό με ένα αντικείμενο StringBuilder.
Αυτό το αντικείμενο έχει μεθόδους που επιτρέπουν να κατασκευαστεί μια συμβολοσειρά
χαρακτήρα προς χαρακτήρα και να χειριστεί. Στο τέλος της διαδικασίας
μπορείς να καλέσεις τη ToString πάνω του για να εξαγάγεις μια πλήρη συμβολοσειρά.
Σε αυτή την άσκηση, θα υλοποιήσεις ένα μέρος από ένα σύνολο βοηθητικών ρουτινών που βοηθούν έναν προγραμματιστή να καθαρίζει ονόματα αναγνωριστικών.
Στις 5 εργασίες θα χτίσεις σταδιακά τη ρουτίνα Clean.
Ένα έγκυρο αναγνωριστικό αποτελείται από μηδέν ή περισσότερα γράμματα και κάτω παύλες.
Σε κάθε περίπτωση, η συμβολοσειρά εισόδου δεν είναι ποτέ null.
Αν δοθεί μια κενή συμβολοσειρά στη συνάρτηση Clean, θα πρέπει να επιστραφεί μια κενή συμβολοσειρά.
Σημείωσε ότι αυτός που καλεί θα πρέπει να αποφεύγει να καλεί τη ρουτίνα Clean με ένα κενό αναγνωριστικό, αφού τέτοια αναγνωριστικά δεν έχουν κανένα αποτέλεσμα.
Υλοποίησε τη (static) μέθοδο Identifier.Clean() ώστε να αντικαθιστά τυχόν κενά με κάτω παύλες.
Αυτό ισχύει και για τα κενά στην αρχή και στο τέλος.
Identifier.Clean("my Id");
// => "my___Id"
Τροποποίησε τη (static) μέθοδο Identifier.Clean() ώστε να αντικαθιστά τους χαρακτήρες ελέγχου με τη συμβολοσειρά "CTRL" σε κεφαλαία γράμματα.
Identifier.Clean("my\0Id");
// => "myCTRLId",
Τροποποίησε τη (static) μέθοδο Identifier.Clean() ώστε να μετατρέπει το kebab-case σε camelCase.
Identifier.Clean("à-ḃç");
// => "àḂç"
Τροποποίησε τη (static) μέθοδο Identifier.Clean() ώστε να παραλείπει όσους χαρακτήρες δεν είναι γράμματα.
Identifier.Clean("1😀2😀3😀");
// => ""
Τροποποίησε τη (static) μέθοδο Identifier.Clean() ώστε να παραλείπει οποιαδήποτε ελληνικά γράμματα στο εύρος από το 'α' έως το 'ω'.
Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
Γράψου στο Exercism για να μάθεις και να κατακτήσεις C# με 62 έννοιες178 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.