1. Aufgabe:
Lektion 1 begann mit einem Aufrufbeispiel für die Min-Methode:
cityList.Min(name => name.Length)
Die Min-Methode ist mehrfach überladen. Erklären Sie, welche Methodenvariante hier zur Anwendung kommt, erläutern Sie ferner ihre Parameter und Rückgabe.
2. Aufgabe:
Ermitteln Sie mithilfe der LINQ-Operatoren die fünf kürzesten Städtenamen aus der im Studienheft mehrfach verwendeten IList<string>-Sequenz cityList.
3. Aufgabe:
Lassen sich alle Städtenamen aus der Collection cityList, die ein Leerzeichen enthalten, mit dem TakeWhile-Operator ermitteln? Begründen Sie Ihre Lösung und geben Sie ggf. eine Alternative an.
4. Aufgabe:
Die Northwind-Datenbank auf dem SQL-Server enthält auch eine Tabelle „Categories“ mit den Spalten „CategoryID“ (Primärschlüssel vom Typ „int“), „CategoryName“, „Description“ und „Picture“. Die zweite Spalte nennt Produktgruppen, die in der dritten Spalte kurz beschrieben werden. In der vierten Spalte sind zugehörige Bilder binär gespeichert.
Lediglich die Spalten 2 und 3 sollen in Ihrer Anwendung von einem Typ „Produktgruppen“ unter den Namen „Produktgruppe“ und „Beschreibung“ modelliert werden.
Beschreiben Sie unter Wiedergabe aller nötigen Codierungen, was Sie tun müssen, um alle Produktgruppen nebst ihren Beschreibungen in dieser Form auf der Konsole auszugeben:
Produktgruppe [Produktgruppe] ([Beschreibung])
Die Ausdrücke in eckigen Klammern sind durch die Datenbankinhalte zu füllen. Fügen Sie auch einen Screenshot bei, der sämtliche Produktgruppen mit ihren Beschreibungen als Ausgabe in der Konsole zeigt.
5. Aufgabe:
In Aufgabe 4.4 wurde eine Methode entwickelt, mit der sich ein neues card-Element erstellen lässt. Die Methode hat allerdings noch die Schwäche, dass sie Wiederholungselemente unzureichend berücksichtigt: Weder unterstützt sie die Option mehrerer Stichworte noch die Option mehrerer content-Elemente mit unterschiedlichen Attributwerten. Die DTD des Karteikastens (Code 4.1) sieht aber vor, dass eine Karteikarte mehrere Stichworte und eine Vielzahl von content-Elementen unterschiedlichsten Typs (vgl. ATTLIST-Definition) haben kann.
Entwerfen Sie eine Methodenvariante von NewCard, mit deren Aufruf ein vollständiges card-Element mit mehreren Stichworten und mehreren content-Elementen erstellt werden kann. Schreiben Sie auch einen passenden exemplarischen Aufruf mit zumindest zwei Stichworten und content-Elementen für jeden Typ.
Erstellen Sie mit dem so produzierten Element ein XDocument-Objekt (Methode NewDocument) und geben Sie dessen Elementstruktur auf Konsole aus. Die Ausgabe dokumentieren Sie bitte durch einen Screenshot.