Arbeiten mit .NET/ Inhaltsverzeichnis

Aus Wikibooks

Bei diesem Projekt handelt es sich um eine Buchreihe zum Arbeiten mit dem .NET Framework. Die Bücher befassen sich mit jeweils einem Teilbereich der .NET-Programmierung.

Übersicht über die Bücher

1. Einführung

2. Grundlagen
2.1 Das .NET-Framework
2.2 OOP unter .NET
2.3 C#-Lehrbuch
2.4 C++/CLI
2.5 Visual Basic .NET
2.6 Etwas Theorie

3. Themen
3.1 Zugriff auf Dateien
3.2 Entwurfsmuster
3.x Weitere Themen

4. Ergänzung für Autoren
4.1 Information und Diskussion
4.2 Mehrfach verwendete Kapitel
4.3 Materialien

Einführung[Bearbeiten]

In Buch Allgemeines erhalten Sie einführende Informationen über das .NET Framework und die Programmierung.

  • Wozu eigentlich
    In diesem Kapitel besprechen wir ein paar Vorteile, warum die Entwickler von Anwendungen mit .NET sinnvoll und erfolgreich programmieren können.
  • Lesehinweise
    Dies informiert darüber, in welcher Reihenfolge die verschiedenen Bücher und Kapitel durchgearbeitet werden können.
Wikipedia hat einen Artikel zum Thema:

Dieses Buch enthält allgemeine Hinweise zum .NET Framework (Ziel, Verwendung, Versionen) sowie zur Programmierung dafür. Diese Hinweise sind nützlich, wenn man die Zusammenarbeit der verschiedenen Teile verstehen will. Zum "Arbeiten mit .NET" genügt es in der Regel, diese kurz durchzulesen und sich nur mit einzelnen Abschnitten (z.B. einer IDE oder einem Download) genauer zu befassen.

Die folgenden Kapitel werden immer wieder benutzt, ohne dass die Verweise ständig wiederholt werden:

Grundlagen[Bearbeiten]

Wichtige Themen

Die folgenden Bücher sind grundlegend für das Arbeiten mit .NET. Bitte beachten Sie, dass beim Lernen einer der Programmiersprachen immer wieder Fragen des Frameworks angesprochen werden und umgekehrt.

Wikipedia hat einen Artikel zum Thema:

Das .NET-Framework[Bearbeiten]

In diesem Buch wird behandelt, wie das .NET Framework ins Betriebssystem „eingebunden“ wird und .NET-Programme ausführt. Außerdem bringt es einen Überblick über die Klassenbibliotheken.

Der Teil Basistechnologien behandelt einige Themen, die bei allen .NET-Programmiersprachen äußerst wichtig sind und sich sehr ähneln. In den Einzelbüchern (C#, VB.NET usw.) ist immer eine Zusammenfassung enthalten; die Einzelheiten sind hier zu finden.

Bei allen anderen Themen stöhnen Sie mit Sicherheit über zuviel Theorie. Besser ist es, einzelne Abschnitte durchzugehen, wenn Sie sich mit einem speziellen Thema gezielt befassen wollen oder müssen.

Wikipedia hat einen Artikel zum Thema:


Objektorientierte Programmierung (OOP) unter .NET[Bearbeiten]

Das .NET-Framework wurde vollständig nach den Prinzipien der objektorientierten Programmierung entwickelt. In diesem Buch werden diese Prinzipien erläutert, soweit es für das Arbeiten mit .NET erforderlich ist. Dieses Buch ersetzt kein OOP-Lehrbuch, sondern ist nur eine zielorientierte Einführung.

Wikipedia hat einen Artikel zum Thema:
Programmiersprachen

Um mit .NET arbeiten zu können, benötigt man eine der dazu passenden Programmiersprachen. Es ist nützlich, wenn man eine fremde Sprache lesen kann; dann kann man – weil alles mit den .NET-Klassen arbeitet – sich fremden Quelltext relativ einfach in die eigene Sprache übertragen. Es ist aber beileibe nicht notwendig.

Hier gibt es Einführungen in die verschiedenen Sprachen, die mit .NET arbeiten:

Wikipedia hat einen Artikel zum Thema:

C#-Lehrbuch (C-Sharp)[Bearbeiten]

Dieses Buch enthält einen Programmierkurs für die Sprache C# (gesprochen: C-Sharp). Es behandelt alles, was zur Arbeit mit dem .NET Framework in C# erforderlich ist.

Wikipedia hat einen Artikel zum Thema:

C++/CLI für .NET[Bearbeiten]

Mit C++/CLI wird eine von Microsoft entwickelte Variante der Programmiersprache C++ bezeichnet, die den Zugriff auf die .NET-Laufzeitumgebung mit speziellen Spracherweiterungen ermöglicht.

Bitte lassen Sie sich nicht verwirren: Weil der Schrägstrich in Kapitelnamen von Wikibooks eine besondere Bedeutung hat, benutzen wir dafür die Schreibweise "C++ für .NET". Damit ist immer die Variante C++/CLI gemeint.

Wikipedia hat einen Artikel zum Thema:

Visual Basic .NET[Bearbeiten]

Dabei handelt es sich um eine Weiterentwicklung des "klassischen" Visual Basic, die auf das .NET Framework angepasst und damit vollständig objektorientiert ist.

Visual Basic .NET – Inhaltsverzeichnis

Etwas Theorie[Bearbeiten]

In diesem Buch werden einzelne Kapitel aus den Grundlagen ausführlicher behandelt. Dabei werden die Inhalte genauer besprochen, als es für die Praxis eines Programmierers notwendig ist, und es wird auf Hintergründe eingegangen, die dem tieferen Verständnis dienen.

Weitere Sprachen[Bearbeiten]

Auch für verschiedene der folgenden Sprachen könnte es Bücher geben:

  • Boo
  • Delphi.Prism
  • F#
  • J#

Themen[Bearbeiten]

In den folgenden Büchern werden verschiedene Einzelthemen behandelt. Jeder dieser Bereiche kann unabhängig von anderen benutzt werden. Die Kenntnis der .NET-Grundlagen und mindestens einer Programmiersprache wird vorausgesetzt.

Wikipedia hat einen Artikel zum Thema:

Zugriff auf Dateien[Bearbeiten]

Dieses Buch behandelt den Zugriff auf verschiedene Arten von Dateien: Textdateien, XML, Binärdateien, Konfigurationen, Registry usw.

Wikipedia hat einen Artikel zum Thema:

Entwurfsmuster[Bearbeiten]

Dieses Buch behandelt verschiedene fortgeschritte Programmiertechniken, mit denen bestimmte Anwendungen konzipiert werden können.

Wikipedia hat einen Artikel zum Thema:

LINQ[Bearbeiten]

Dieses Buch behandelt die Verarbeitung von Daten mit LINQ.

Weitere Themen[Bearbeiten]

Für die folgenden Bereiche sind ebenfalls eigene Bücher sinnvoll.

  • Windows-Forms
  • WPF / Silverlight
  • WebForms (ASP.NET, ASP.NET MVC)
  • Arbeiten mit lokalen Netzwerken
  • Multithreading
  • WebServices (ASMX), Remoting
  • Windows Communication Foundation (WCF)
  • Arbeiten mit Datenbanken (ADO.NET und Entity Framework)
  • LINQ
    • LINQ to Objects
    • LINQ to DataSets (ADO.NET Disconnected Layer)
    • LINQ to SQL (ADO.NET Connected Layer)
    • LINQ to XML
    • LINQ to Entities (Entity Framework)
    • Erweitern von LINQ (Monads, Custom Extension-Methods)
  • Multimedia / Grafik
  • Lokalisierung

Ergänzung für Autoren[Bearbeiten]

Information und Diskussion[Bearbeiten]

Bei diesem Projekt handelt es sich um eine Buchreihe zum Arbeiten mit dem .NET Framework. Diskussionen sollten je nach Themenbereich getrennt geführt werden. Bitte beachtet auch die Arbeitsanleitung für Autoren unter Arbeiten mit .NET/ Gestaltung.

Zur Buchreihe[Bearbeiten]

Weitere Hinweise dazu finden sich hier:

  • Inhaltsverzeichnis liefert die Übersicht über die Gliederung der Reihe sowie die Inhalte der einzelnen Bücher.
  • Projektorganisation liefert Hinweise für Autoren zur Mitarbeit für diese Buchreihe.
  • Gestaltung gibt eine Arbeitsanleitung für Autoren und erläutert, wie die Kapitel der einzelnen Bücher aussehen sollten, damit der ähnliche Eindruck den Zusammenhang der Reihe deutlich macht.

Zu jeder dieser Seiten gibt es eine Diskussionsseite zur Besprechung von Fragen.

Zu jedem Buch

Weitere Hinweise zu einem einzelnen Buch finden sich hier:

  • Auf Diskussion:<Buchname> werden andere allgemeine Dinge besprochen.
  • Inhaltsverzeichnis enthält die Gliederung des Buches.
  • Projektorganisation liefert Hinweise für Autoren zur Mitarbeit an diesem Buch.

Zu jeder dieser Seiten gibt es eine Diskussionsseite zur Besprechung von Fragen. – Auf diese Seiten gehören Angaben, die sich nur auf dieses Buch beziehen. Was die gesamte Reihe oder mehrere Bücher betrifft, gehört zu den Hinweisen zur Buchreihe.

Mehrfach verwendete Kapitel[Bearbeiten]

Hier werden Kapitel aufgeführt, die in mehrere Bücher eingebunden werden können.

Allgemeines
Grundlagen der OOP

Die Kapitel dieses Abschnitts gehören sowohl zum OOP-Buch als auch zu jeder Programmiersprache.

Datentypen

Die Kapitel dieses Abschnitts gehören zu jeder Programmiersprache. Soweit unter Arbeiten mit .NET: Grundlagen: Das Framework noch ein Abschnitt "Basistechnologien" eingebaut wird, gehören sie auch dorthin.

Fehlerbehandlung

Die Kapitel dieses Abschnitts gehören zu jeder Programmiersprache. Sie sind wahrscheinlich auch in anderem Zusammenhang von Bedeutung.

  • try-catch
  • Exceptions

Materialien[Bearbeiten]

Ideensammlung[Bearbeiten]

Hier stehen kurze Informationen, die noch "irgendwo" eingebaut werden können. Meistens gibt es das betreffende Kapitel noch nicht, aber die Informationen sollen nicht vergessen werden.

Ideensammlung

(bearbeiten)

Klassendefinition

Attribute sind bisher noch nirgends vorgesehen. Passen sie besser zu .NET oder zu den Programmiersprachen? Da sie unterschiedlichste Bedeutung haben, brauchen wir sicherlich mehrere Kapitel dafür.

Groß- und Kleinschreibung

Das muss für jede Programmiersprache ausdrücklich erwähnt werden: zulässig oder nicht? Wie wird üblicherweise gearbeitet? Es steckt in den Namenskonventionen und bei Variablen; aber wo sollte gezielt darauf hingewiesen werden? Das muss doch ziemlich früh erfolgen, aber wo?

Für das Kapitel "if-Verzweigungen"

Wenn der zu bearbeitende Teil nur aus einer einzigen Anweisung besteht, können die Klammern entfallen. Der folgende Ablauf ist mit dem vorstehenden Code identisch:

			if (DateTime.Now.Hour < 12) 
				Console.Write("Guten Morgen, ");
			else if (DateTime.Now.Hour < 18) 
				Console.Write("Grüß Gott, ");
			else 
				Console.Write("Guten Abend, ");

Wir empfehlen aber, die Anweisungen zu if immer als Block mit {...} zu definieren:

  • Es kann keine Fehler geben, wenn Klammern versehentlich vergessen werden.
  • Spätere Änderungen des Codes durch weitere oder andere Anweisungen sind einfacher.
  • Der Code ist klarer gegliedert.

Auch hier gilt: Ein "schöner" Code ist nicht immer kürzer, sondern er sollte gut lesbar sein.

Für das Kapitel "switch-Verzweigungen"
	int i = 3;
	switch(i) 
	{
		case 0:
			// mach etwas für i=0
			goto case 3;
		case 1:
		case 2:
			// mach etwas für i=1 oder i=2
			break;
		case 3:
			// mach etwas für i=3 und auch für i=0 
			break;
		default:
			// mach etwas in allen anderen Fällen
			break;
	}

Der komplette Code zu switch ist als Block in {...} zusammenzufassen. Jeder einzelne Fall wird mit case und einem Wert begonnen. Mehrere Werte können hintereinander abgefragt werden, aber nur einzeln (nicht als Wertebereich "von 10 bis 20"). Die Anweisungen für jeden Wert müssen mit break (oder einer anderen sinnvollen Sprunganweisung) beendet werden. Der default-Fall gilt für alle anderen, nicht ausdrücklich genannten Fälle. Die Reihenfolge der Fallunterscheidungen spielt übrigens keine Rolle.

Für DateTime.ToString

Aufgabe: Hole den Wochentag mit dem lokalen Text.

Lösung 1 ist enthalten in Arbeiten_mit_.NET:_Grundlagen:_Datentypen/_Andere_Typen:

d0.ToString("dddd")

Lösung 2:

DateTime aday = DateTime.Now;
string dayName = CultureInfo.CurrentCulture.DateTimeFormat.GetDayName(
     CultureInfo.CurrentCulture.Calendar.GetDayOfWeek(aday));

Veraltete Artikel[Bearbeiten]

Hier stehen Kapitel aus früheren Büchern zur Verfügung, die inzwischen gelöscht wurden. Diese Kapitel können bei Bedarf und Interesse übernommen und an passender Stelle eingearbeitet werden oder auch gelöscht werden, wenn der Inhalt verwendet worden ist.

Aus "Visual C-Sharp .NET" gesichert
Aus "Programmierkurs C-Sharp" gesichert
Aus "Visual Basic .NET" gesichert
  • Dieses Buch ist noch vollständig erhalten; keine Kapitel wurden ausgelagert.