Διαδρομές
/
C#
C#
/
Ασκήσεις
/
Tracks on Tracks on Tracks
Tracks on Tracks on Tracks

Tracks on Tracks on Tracks

Άσκηση εκμάθησης

Εισαγωγή

Γενικοί τύποι

Ένας ορισμός συλλογής περιλαμβάνει συνήθως μια θέση μέσα σε γωνιακές αγκύλες, συχνά το T κατά σύμβαση. Μια τέτοια συλλογή ονομάζεται γενικός τύπος. Αυτό επιτρέπει στον χρήστη της συλλογής να καθορίσει τι τύπου στοιχεία θα αποθηκεύονται στη συλλογή. Στο παρακάτω παράδειγμα κώδικα, δημιουργούμε ένα στιγμιότυπο μιας λίστας συμβολοσειρών.

Λίστες

Οι λίστες στη C# είναι συλλογές από πρωτογενείς τιμές ή στιγμιότυπα δομών ή κλάσεων. Υλοποιούνται στη βιβλιοθήκη βασικών κλάσεων ως List<T>, όπου το T είναι ο τύπος του στοιχείου στη λίστα. Το API παρέχει ένα πλούσιο σύνολο μεθόδων για τη δημιουργία και τον χειρισμό λιστών.

Στις λίστες μπορούν να προστεθούν και να αφαιρεθούν στοιχεία. Μεγαλώνουν και μικραίνουν ανάλογα με τις ανάγκες.

var listOfStrings = new List<string>();

Οδηγίες

Σε αυτή την άσκηση θα γράφεις κώδικα για να κρατάς μια λίστα με τις γλώσσες προγραμματισμού που θέλεις να μάθεις στο Exercism.

Έχεις εννέα εργασίες, οι οποίες όλες θα έχουν να κάνουν με λίστες.

1. Δημιούργησε μια νέα λίστα

Για να κρατάς τις γλώσσες που θέλεις να μάθεις, θα χρειαστεί να δημιουργήσεις μια νέα λίστα.

Υλοποίησε τη στατική μέθοδο Languages.NewList() που επιστρέφει μια νέα, κενή λίστα.

Languages.NewList()
// => empty list

2. Όρισε μια υπάρχουσα λίστα

Αυτή τη στιγμή έχεις ένα κομμάτι χαρτί όπου αναγράφονται οι γλώσσες που θέλεις να μάθεις: C#, Clojure και Elm.

Υλοποίησε τη στατική μέθοδο Languages.GetExistingLanguages() ώστε να επιστρέφει αυτή τη λίστα.

Languages.GetExistingLanguages();
// => {"C#", "Clojure", "Elm"}

3. Πρόσθεσε μια νέα γλώσσα σε μια λίστα

Καθώς εξερευνάς το Exercism και βρίσκεις πιο ενδιαφέρουσες γλώσσες, θέλεις να τις προσθέσεις στη λίστα σου.

Υλοποίησε τη στατική συνάρτηση Languages.AddLanguage() για να προσθέτεις μια νέα γλώσσα στο τέλος της λίστας σου.

Languages.AddLanguage(Languages.GetExistingLanguages(), "VBA");
// => {"C#", "Clojure", "Elm", "VBA"}

4. Μέτρησε τις γλώσσες στη λίστα

Το να μετράς τις γλώσσες μία προς μία είναι άβολο.

Υλοποίησε τη στατική μέθοδο Languages.CountLanguages() για να μετράς τον αριθμό των γλωσσών στη λίστα σου.

Languages.CountLanguages(Languages.GetExistingLanguages())
// => 3

5. Έλεγξε αν μια γλώσσα βρίσκεται στη λίστα

Υλοποίησε τη στατική μέθοδο Languages.HasLanguage() για να ελέγχεις αν μια γλώσσα υπάρχει στη λίστα.

Languages.HasLanguage(Languages.GetExistingLanguages(), "Elm")
// => true

6. Αντιστρέψε τη λίστα

Κάποια στιγμή συνειδητοποιείς ότι η λίστα σου είναι στην πραγματικότητα με αντίστροφη σειρά!

Υλοποίησε τη στατική μέθοδο Languages.ReverseList() για να αντιστρέψεις τη λίστα σου.

Languages.ReverseList(Languages.GetExistingLanguages())
// => {"Elm", "Clojure", "C#"}

7. Έλεγξε αν η λίστα είναι συναρπαστική

Αν και αγαπάς όλες τις γλώσσες, η C# έχει μια ξεχωριστή θέση στην καρδιά σου. Έτσι, ενθουσιάζεσαι πραγματικά με μια λίστα γλωσσών αν ισχύει μία από τις παρακάτω συνθήκες:

  • Η πρώτη γλώσσα στη λίστα είναι η C#.
  • Η δεύτερη γλώσσα στη λίστα είναι η C# και η λίστα περιέχει είτε δύο είτε τρεις γλώσσες.

Υλοποίησε τη στατική μέθοδο Languages.IsExciting() για να ελέγχεις αν μια λίστα γλωσσών είναι συναρπαστική:

Languages.IsExciting(Languages.GetExistingLanguages())
// => true

8.Αφαίρεσε Γλώσσα

Υλοποίησε τη στατική μέθοδο Languages.RemoveLanguage() για να αφαιρείς μια συγκεκριμένη γλώσσα από τη λίστα.

Languages.RemoveLanguage(Languages.GetExistingLanguages(), "Clojure")
// => { "C#", "Elm" }

9. Έλεγξε αν όλες οι γλώσσες στη λίστα είναι μοναδικές

Υλοποίησε τη στατική μέθοδο Languages.IsUnique() για να ελέγχεις αν κάποια από τις γλώσσες επαναλαμβάνεται στη λίστα.

Η λίστα των γλωσσών (δηλαδή η παράμετρος) είναι εγγυημένα μη κενή όταν καλείται αυτή η μέθοδος, και δεν πειράζει αν η λίστα τροποποιηθεί.

Languages.IsUnique(Languages.GetExistingLanguages())
// => true
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
C# Exercism

Έτοιμος να ξεκινήσεις την άσκηση Tracks on Tracks on Tracks;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις C# με 62 έννοιες178 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.