Günstiges C# Buch

Das Buch „C# 2008 – Profihandbuch und Referenz“ gibt es mit Gutschein für gerade mal rund 10€ + VSK.
Mehr dazu gibt es hier!

Leider habe ich bei Amazon etc. keine Referenzen zu dem Buch gefunden, aber ich denke bei dem Preis kann man nicht viel falsch machen.
Man kann übrigends nur ein einziges bestellen, schade eigentlich!

via: Jan Welker

3 Schichten Modell

Ich versuche mich aktuell, ein C# Projekt schön nach dem 3-Schichten-Modell aufzubauen. Ich orientiere mich dazu an einem HowTo von Robert Mühsig (netter Blog btw.).

Klappt alles schon ganz gut, es ist etwas aufwendiger mit dem programmieren, wie ich finde, da man sich über mehr Sachen gedanken machen muss.
Aber es hat zum Beispiel den Vorteil, dass alles schön sauber getrennt ist. Ich könnte theoretisch statt einer SQLite Datenbank als Datenquelle eine XML-Datei nutzen, nur indem ich eine anderes Objekt instanziere. Ein ordentliches Interface vorrausgesetzt, habe ich nirgendwo Probleme, dieses auch anzusprechen. Natürlich könnte man dies auch ohne das 3-Schichten-Modell machen, allerdings sind hier die Bereiche schön getrennt. So hab ich wirklich nur eine Stelle, die dafür zuständig ist, die Daten aus der Datenquelle auszulesen und wegzuschreiben und muss an anderer Stelle absolut nichts anpassen.

Wie gesagt, der Aufwand ist etwas größer und langsam wird mir zum Beispiel klar, wozu man schöne Klassendiagramme brauchen kann 😉 War der Berufsschulquatsch doch nicht ganz umsonst. Ich könnte mich an diese Programmierweise echt gewöhnen!

Ach ja, bei dem Projekt geht es um eine DVD-Archiv-Software mit „Verleih“-Modull. Kann es privat selbst ganz gut gebrauchen. Als mögliche Datenquellen soll es neben (aktuell) SQLite auch XML sowie MSSQL geben (evtl. auch MySQL). Desweiteren überlege ich später als weitere Übung, eine ASP.NET Weboberfläche zu erstellen, so dass man diese Verwaltung auch Online nutzen kann. Aber erstmal eins nach dem anderen 🙂

C#: Zahlen formatieren

Bei Uwe ist kurz erklärt, wie man in Strings Zahlen formatiert.
Allerdings werden die Zahlen vom System abhängig ausgegeben. Also auf deutschen Systemen wird aus „123.45“ » „123,45“.
Um sowas zu umgehen müsst ihr folgendes machen:

// Siehe Kommentare
// CultureInfo cultureInfoProvider = new CultureInfo("en-US");
CultureInfo cultureInfoProvider = CultureInfo.InvariantCulture;
MessageBox.Show(string.Format(cultureInfoProvider, "{0:F2}", 123.45));

Und schon wird euch die Zahl wie gewünscht ausgegeben.
Ist auch interessant bei Datumswerten oder Währungen.