Tracks
/
C#
C#
/
Übungen
/
Tracks on Tracks on Tracks
Tracks on Tracks on Tracks

Tracks on Tracks on Tracks

Lernübung

Einführung

Generische Typen

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

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>();

Anleitung

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.

1. Erstelle eine neue Liste

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

2. Definiere eine vorhandene Liste

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"}

3. Füge eine neue Sprache zu einer Liste hinzu

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"}

4. Zähle die Sprachen in der Liste

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

5. Prüfe, ob eine Sprache in der Liste ist

Implementiere die statische Methode Languages.HasLanguage(), um zu prüfen, ob eine Sprache vorhanden ist.

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

6. Kehre die Liste um

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#"}

7. Prüfe, ob eine Liste spannend ist

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:

  • Das erste Element der Liste ist C#.
  • Das zweite Element der Liste ist C# und die Liste enthält entweder zwei oder drei Sprachen.

Implementiere die statische Methode Languages.IsExciting(), um zu prüfen, ob eine Liste von Sprachen spannend ist:

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

8.Entferne eine Sprache

Bitte implementiere die statische Methode Languages.RemoveLanguage(), um eine bestimmte Sprache aus der Liste zu entfernen.

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

9. Prüfe, ob alle Sprachen in der Liste verschieden sind

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
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
C# Exercism

Bereit, mit Tracks on Tracks on Tracks zu starten?

Melde dich bei Exercism an, um C# mit 62 Konzepte178 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.