Objekt Orientierte Programmierung mit C#

Skripten zu OOP mit C#

Einführung in C# in 7 Kaptiteln

Übungsaufgaben und fertige Projekte (Visual Studio 2003 bis 2015 - Projekte)

Die neueren Versionen von Visual Studio laden auch Projekte die mit älteren Versionen erstellt wurden. Folgen sie dem Konvertierungsdialog.

Für Umsteiger zum Einstieg: Von C zu OOP

Stern-Dreieck Modul
Testumgebung
Header-File
Von der Datenkapselung in C ()
C# Visual Studio Projekt zur Klasse in C#

Anfänger (HTL 2. Jg.):

Übungsaufgaben

Algorithmen und Kontrollstrukturen
Beispiele für Objekte

Konsolapplikationen:

Hello Das berühmte erste "Hello World" Programm
Grundrechungsarten (Calculator)
Datentypen Demo zu den einfachen Datentypen
ParseInt Textdarstellung einer Zahl in die Zahl umwandlen
Kontrollstrukturen Demo zu Kontrollstrukturen
Zweipol Serien- oder Parallschaltung
RC-Schaltung Berechnung zu einer RC Schaltung
Zeichenketten.html Text-Dateien und Zeichenketten

Windowsapplikationen:

First3Examples.zip Die ersten 3 Beispiele, Buttons, Textbox
ListViewDemo.zip Demo
StarDelta.html Stern - Dreickumwandlung
UebungStatistik.html Übung zur Statistik
UebungStatistik2.html Übung zur Statistik, Messwerte auswerten
ErsatzWiderstand.zip Ersatzwiderstand für mehrere Widerstände berechnen
Aufgabe, Lösung StarDelta.zip Stern-Dreieck-Umwandlung
Gdi1.zip Zeichnen in einem Panel (Grösse ermitteln, Pixel-Units, Koordinatensystem, sin(x) zeichnen
Polygon.zip Point Klasse, Polygon Klasse und eine rudimentäre Plot-Klasse zum Zeichnen in Benutzerkoordinaten
StudentCollection.zip zum fertigstellen; Validierung des Notenfeldes und hinzufügen von Name und Note fehlt noch

Fortgeschrittene (HTL 3. Jg.):

Version1: Resistance.zip
Version2: Resistance2.zip
Eine Klasse für einen Widerstand an einer idealen Strom- oder Spannungsquelle.
Eine Windows-Applikation als Benutzerschnittstelle, bei Version 2 mit einem Event
UPN Rechner Rechner mit umgekehrter Polnischer Notation
ComplexNumbers.zip Collection von complexen Zahlenwerten mit XML-Serialisierung
CircleDiagram.zip Collection von komplexen Zahlenwerten, das UI ermöglicht jedoch die Erzeugung von Ortskurven für R, L, C Schaltungen
ListeVerwalten.zip Objekte in einer ArrayList, Vererbung, Form als Benutzerschnittstelle
Übung und Lösung Vers. 1 Geometrische Figuren mit einer Basisklasse, diese Übung erledigt das Zeichnen der Figuren in der Form-Klasse. Im Sinne der OOP ist es die bessere Lösung, für die Figuren eine Methode Draw zu schreiben.
DerivedFigureListSolution2.zip Eine verbesserte Version berücksichtigt beim Zeichnen die Größe, arbeitet mit mm-Koordinaten und einem Zoom-Faktor.
FigureListXML.zip Fortsetzung des Beispiels:
Abgeleitete Collection für die Figuren, Speichern als XML-Datei und lesen von XML-Datei, File Menü
LinkedList.zip, TreeView.zip Beispiel zu dynamischen DatenstrukturenLinkedList.zip
ExpressionTree.zip Übung: Ein vorliegendes Projekt ist mit einer Benutzerschnittstelle zu erweitern, die es ermöglicht:
a) Endknotenwerte zu ändern
b) einen Term der Form a op b einzufügen
DoubleLinkedList1.zip Doppelt verkettete Liste: einige Basis-Methoden, zum weiteren Ausbau geeignet (Konsolapplikation)
AddressList.zip XML-Datei über DOM lesen, SelectSingleNode, SelectNodeList, Daten in ListView darstellen, Knoten einfügen, nicht fertig, zur Übung ausbaubar.
XML-Datei mit Beispiel für eine XSL-Transformation in eine HTML Datei.

Diverses

Gauss Gauss'scher Algorithmus: Properties, DataGrid (.Net 1.1), abgeleiteter ColumnTableStyle, Events
PlaySound Verwendet mit PInvoke eine WinMM Api Funktion, um eine Wave-Datei abzuspielen.
MidiKeyboard nützt Midi, um auf der Tastatur zu spielen
MouseEvents Fangfunktion für Mauszeiger
Interferenz Nützt ein Bitmap, um das Interferenzmuster der Überlagerung von zwei Wellen zu zeichnen. Der Code enthält unterschiedliche Methoden, um das Bitmap zu verändern und zu zeichnen. Die Standardmethoden sind zu langsam für eine Animation.

Projektarbeiten

Anmerkungen und Anregungen für größere Softwareprojekte, mehr...

Entwicklerwerkzeuge:

Icon-Editor