Eine Definition einer Sammlung enthält üblicherweise einen Platzhalter in spitzen Klammern, oft T nach Konvention. Eine solche Sammlung wird als generischer Typ bezeichnet. Dadurch kann die Person, die die Sammlung verwendet, angeben, welchen Typ von Elementen sie in der Sammlung speichern möchte. Im folgenden Beispielcode instanziieren wir eine Liste von Strings.
Listen in C# sind Sammlungen von primitiven Werten oder Instanzen von Strukturen oder Klassen. Sie sind in der Basisklassenbibliothek als List<T> implementiert, wobei T der Typ des Elements in der Liste ist. Die API stellt eine Vielzahl von Methoden zum Erstellen und Bearbeiten von Listen bereit.
Elemente können zu Listen hinzugefügt und aus ihnen entfernt werden. Listen wachsen und schrumpfen nach Bedarf.
var listOfStrings = new List<string>();
In dieser Übung schreibst du Code, um eine Liste der Programmiersprachen zu verwalten, die du auf Exercism lernen möchtest.
Du hast neun Aufgaben, bei denen es jeweils um Listen geht.
Um den Überblick über die Sprachen zu behalten, die du lernen möchtest, musst du eine neue Liste erstellen.
Implementiere die statische Methode Languages.NewList(), die eine neue, leere Liste zurückgibt.
Languages.NewList()
// => empty list
Derzeit hast du einen Zettel, auf dem die Sprachen stehen, die du lernen möchtest: C#, Clojure und Elm.
Bitte implementiere die statische Methode Languages.GetExistingLanguages(), um die Liste zurückzugeben.
Languages.GetExistingLanguages();
// => {"C#", "Clojure", "Elm"}
Wenn du Exercism erkundest und weitere interessante Sprachen findest, möchtest du sie deiner Liste hinzufügen.
Implementiere die statische Funktion Languages.AddLanguage(), um eine neue Sprache am Ende deiner Liste hinzuzufügen.
Languages.AddLanguage(Languages.GetExistingLanguages(), "VBA");
// => {"C#", "Clojure", "Elm", "VBA"}
Die Sprachen einzeln zu zählen, ist umständlich.
Implementiere die statische Methode Languages.CountLanguages(), um die Anzahl der Sprachen in deiner Liste zu zählen.
Languages.CountLanguages(Languages.GetExistingLanguages())
// => 3
Implementiere die statische Methode Languages.HasLanguage(), um zu prüfen, ob eine Sprache vorhanden ist.
Languages.HasLanguage(Languages.GetExistingLanguages(), "Elm")
// => true
Irgendwann stellst du fest, dass deine Liste tatsächlich rückwärts sortiert ist!
Implementiere die statische Methode Languages.ReverseList(), um deine Liste umzukehren.
Languages.ReverseList(Languages.GetExistingLanguages())
// => {"Elm", "Clojure", "C#"}
Obwohl du alle Sprachen liebst, hat C# einen besonderen Platz in deinem Herzen. Deshalb bist du von einer Liste von Sprachen wirklich begeistert, wenn eine der folgenden Bedingungen zutrifft:
Implementiere die statische Methode Languages.IsExciting(), um zu prüfen, ob eine Liste von Sprachen spannend ist:
Languages.IsExciting(Languages.GetExistingLanguages())
// => true
Bitte implementiere die statische Methode Languages.RemoveLanguage(), um eine bestimmte Sprache aus der Liste zu entfernen.
Languages.RemoveLanguage(Languages.GetExistingLanguages(), "Clojure")
// => { "C#", "Elm" }
Bitte implementiere die statische Methode Languages.IsUnique(), um zu prüfen, ob eine der Sprachen in der Liste mehrfach vorkommt.
Die Liste der Sprachen (d. h. der Parameter) ist garantiert nicht leer, wenn diese Methode aufgerufen wird und es spielt keine Rolle, ob die Liste verändert wird.
Languages.IsUnique(Languages.GetExistingLanguages())
// => true
Melde dich bei Exercism an, um C# mit 62 Konzepte178 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.