openbook.galileocomp.../visual_csharp_2010/
Dort sollte alles drin stehen. Wenn du lieber über WindowsForms noch dazu lesen willst, nimm am besten die
2008-Version.
Ich finde eine Datenbank jedoch recht kompliziert und für einen Anfänger schwierig, das gleich alles zusammen zu nutzen.
Das eigentliche Programm könntest du ja so schreiben, dass du eine kleine XML-Datenbank anlegst.
Das wird im Endeffekt deutlich schneller fertig sein und ist eigentlich ganz einfach.
Ich kenne jetzt auch nicht den Umfang, den die Daten haben, aber ich denke mal, zu jedem Fachbegriff kommen dann ein paar Stichworte oder eine Erklärung (ich würde Stichworte nehmen) hinzu. Bei Stichworten wäre das dann ein Objekt vom Typ
Dictionary<string, List<string>> und mehr nicht. Du bräuchtest wahrscheinlich nicht einmal eine extra Klasse dafür.
Da der Key eindeutig sein muss, gehst du sicher, dass immer jeder Fachbegriff einzeln vor kommt und bei Value hast du einfach nur eine Liste von Stichworten.
Wenn sie nun Stichworte eingeben soll und der Fachbegriff gefragt ist, kannst du entweder für jedes Stichwort eine extra Auflistung anlegen, oder die vorherige Dictionary-"Datenbank" danach durchsuchen. Je nach Umfang musst du dann entscheiden, was sinnvoller ist, aber das Durchsuchen ist mit LINQ to Objects (Steht auch in beiden Büchern) eigentlich ganz einfach.
Beispiel:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| var data = Dictionary<string, List<string>>(); string stichwort = "bla"; var fachBegriff = (from d in data where d.Value.Contains(stichwort) select d).First(); |
(Ich übernehme keine Garantie, dass das stimmt, habs nicht mal im Code-Editor geschrieben ^^)
Dann hast du den ersten Fachbegriff, den das angegebene Stichwort beschreibt.
Eventuell musst du da noch den Typ anpassen, aber das weiß ich grad nicht mehr auswendig, müsste ich heute Nachmittag mal schauen.
Anders herum ist es ganz einfach:
C#-Quelltext
1: 2: 3: 4:
| var data = Dictionary<string, List<string>>(); string fachbegriff = "bla"; List<string> stichworte = data[fachbegriff]; |