1.
Wann wird die Abfrage im folgenden Codefragment ausgeführt?
int[] zahlen = {4, 99, 13, 3, 9, 12, 77, 43};
//die Abfrage
var abfrage =
from zahl in zahlen
where zahl % 3 == 0
orderby zahl
select zahl;
//die Ausgabe
foreach (int wert in abfrage)
Console.Write(wert + " ");
5 Pkt.
2.
Schreiben Sie die folgende Abfrage aus der Abfragesyntax in die Methodensyntax um:
var werte =
from wert in liste
where wert < 100 && wert > 10
select wert;
5 Pkt.
3.
Erstellen Sie eine Abfrage, die aus der folgenden Datenquelle alle Einträge selektiert, bei denen der Bestellwert größer ist als 100. Lassen Sie die Ergebnisse gruppiert nach der Warengruppe ausgeben.
Lieferung[] lieferungen =
{
new Lieferung {Warengruppe = "A", Name ="Papier", Bestellwert = 20},
new Lieferung {Warengruppe = "A", Name = "Papier", Bestellwert = 250},
new Lieferung {Warengruppe = "B", Name = "Hardware", Bestellwert = 30},
new Lieferung {Warengruppe = "C", Name = "Software", Bestellwert = 600},
new Lieferung {Warengruppe = "C", Name = "Software", Bestellwert = 650},
};
Notieren Sie dazu die nötigen Anweisungen.
10 Pkt.
4.
Erstellen Sie ein Programm, das mindestens 20 zufällig erzeugte Zahlen im Bereich von 1 bis 100 in einem Listenfeld anzeigt. Beim Anklicken einer Schaltfläche sollen die Zahlen sortiert und alle Duplikate entfernt werden. Verwenden Sie zur Anzeige dieser Liste ein weiteres Listenfeld. Verwenden Sie zum Erstellen der Liste und zum Entfernen der Duplikate eine LINQ-Abfrage.
Ob Sie eine Windows Forms- oder eine WPF-Anwendung erstellen, bleibt Ihnen überlassen.
30 Pkt.
5.
Erstellen Sie eine WPF-Anwendung, die Daten aus einer XML-Datei lesen, verarbeiten und speichern kann. Der Anwender soll dabei für eine Person den Vor- und Nachnamen sowie das Alter angeben können.
Lassen Sie die Daten in einem DataGrid anzeigen. Der Anwender soll dabei folgende Möglichkeiten haben:
•
Erzeugen einer neuen Datei mit einem leeren Eintrag,
•
Anhängen von neuen Daten an bereits vorhandene Daten,
•
Überarbeitung vorhandener Daten,
•
Löschen von Daten und
•
Suchen nach Daten über den Nachnamen.
Den Pfad und den Namen der Datei können Sie fest im Programm hinterlegen.
Sorgen Sie dafür, dass das Programm betriebssicher ist – zum Beispiel, indem Sie vor dem Speichern prüfen, ob überhaupt eine Datei geladen wurde.
Wie Sie bei der Lösung vorgehen, bleibt Ihnen überlassen. Bitte dokumentieren Sie Ihren Ansatz aber.
Ein Hinweis zum Löschen:
Sie können sich den markierten Eintrag über die Eigenschaft SelectedItem beschaffen und ihn in den Typ XElement umbauen. Danach können Sie auf die einzelnen Werte zugreifen.
50 Pkt.
Gesamt: 100 Pkt.