C# - Einführung in die Programmiersprache Leibniz Universität IT Services Anja Aue
Bücher und Weblinks Bücher: RRZN-Handbuch: C# - Einführung Richtig einsteigen: Programmieren lernen mit Visual C# 2010; Fahnenstich & Haselier; Microsoft Press Deutschland Weblinks: http://www.dreamincode.net/forums/forum/84-c/ http://www.csharpcourse.com/ http://www.uni-trier.de/index.php?id=22777 http://www.guidetocsharp.de/default.aspx http://www.informit.com/library/library.aspx? b=sty_csharp_24hours C# - Einführung 26.06.12 Seite 2
.NET Architektur C# VB.NET. Common Language Specification (CLS). NET Framework Visual Studio Betriebssystem C# - Einführung 26.06.12 Seite 3
C#... ist eine objektorientierte Programmiersprache. hat Ähnlichkeiten mit C / C++ und enthält Elemente der Java- Programmierung. wurde von Microsoft für die.net-welt entwickelt. ist als ISO/IEC 2370 zertifiziert. arbeitet ab der Version 4.0 mit dem.net Framework 4.0 zusammen. C# - Einführung 26.06.12 Seite 4
Common Language Specification (CLS)... definiert einen Satz von Regeln, die jede Programmiersprache in der.net-welt einhalten muss. Diese Regeln gelten nur für Typen, auf die von außen zugegriffen werden muss. integriert Code und Komponenten von verschiedenen Programmiersprachen. NET-Welt. ist eine Teilmenge des Common Type Systems. Das Common Type System beschreibt alle Typen in der.net-welt als Objekte. C# - Einführung 26.06.12 Seite 5
.NET Framework... ist eine Entwicklungsplattform für.net. wurde von Microsoft im Jahre 2000 eingeführt. unterstützt die Entwicklung von Windows-Anwendungen und XML Web-Services. wird im Verzeichnis %systemroot% \ Microsoft.Net \ Framework gespeichert. %systemroot% ist standardmäßig das Verzeichnis Windows. wird seit dem 12.04.2010 in der Version 4.0 ausgeliefert. C# - Einführung 26.06.12 Seite 6
Aufbau des.net Framework ADO.NET ASP.NET Windows Form WPF XML WF WCF Base Class Library.NET Framework Class Library Common Language Runtime (CLR) C# - Einführung 26.06.12 Seite 7
Common Language Runtime... stellt eine Laufzeitumgebung zur Verfügung, in der Anwendungen kontrolliert ablaufen. verwaltet Code, egal in welcher Programmiersprache der.net Welt. ist die Schnittstelle zwischen den Programm und des Betriebssystems. ist vergleichbar mit der virtuellen Maschine von Java. C# - Einführung 26.06.12 Seite 8
.NET Framework Class Library ist... ist eine Sammlung von Klassen, Werttypen und Schnittstellen. Siehe http://msdn.microsoft.com/dede/library/gg145045%28v=vs.110%29.aspx. enthält vordefinierte Methoden, um zum Beispiel auf eine Konsole zu schreiben. kann von allen Programmiersprachen der.net-welt genutzt werden. C# - Einführung 26.06.12 Seite 9
Entwicklungsumgebungen Das.NET Framework SDK ist ein kommandozeilenorientiertes Werkzeug. Microsoft Visual Studio wird von Microsoft in Abhängigkeit von verschiedenen Kostenmodellen bereit gestellt. SharpDevelop ist eine OpenSource-Entwicklung für das Betriebssystem Windows. Das Projekt Mono portiert die.net-welt für Mac-Rechner und das Betriebssystem Unix / Linux. C# - Einführung 26.06.12 Seite 10
Visual Studio 2010... bietet eine vollständige Entwicklungsumgebung für die verschiedenen Sprachen und Anwendungen der.net-welt. benötigt mindestens das Betriebssystem Windows XP Service Pack 3. gibt es als Komplett-Paket in verschiedenen kostenpflichtigen Versionen ( siehe...visualstudio/products/features.aspx ) gibt es für die verschiedenen Sprachen / Anwendung als kostenfreie Version ( siehe http://www.microsoft.com/germany/express) C# - Einführung 26.06.12 Seite 11
Visual Studio Express starten Icon auf dem Desktop. Start - Programme. C# - Einführung 26.06.12 Seite 12
Neues Projekt anlegen Datei Neues Projekt. Link Neues Projekt auf der Startseite. C# - Einführung 26.06.12 Seite 13
Dialogfenster Neues Projekt... wird nach der Auswahl einer Programmiersprache in den kostenpflichtigen Versionen geöffnet. zeigt in der Express Version sofort die verschiedenen Anwendungsmöglichkeiten an. In diesem Kurs wird die Vorlage Konsolenanwendung und in einem späteren Kapitel Windows Forms-Anwendung mit einem Mausklick ausgewählt. Durch einen Klick auf die Schaltfläche OK wird in Abhängigkeit der gewählten Vorlage ein Projekt- Gerüst angelegt. C# - Einführung 26.06.12 Seite 14
Die Konsolenanwendung... arbeitet mit der MS Eingabeaufforderung zusammen. wird heute noch bei der Programmierung im Bereich Server etc. eingesetzt. nutzt keine Dialogfenster. C# - Einführung 26.06.12 Seite 15
Projekt-Gerüst in Visual Studio Express C# - Einführung 26.06.12 Seite 16
Rahmen von Visual Studio Express Jede Windows-Anwendung wird durch einen Rahmen begrenzt. Durch Ziehen der Maus bei gedrückt gehaltener linker Maustaste wird das Fenster der Anwendung vergrößert oder verkleinert. C# - Einführung 26.06.12 Seite 17
Die Titelleiste von Visual Studio Express zeigt den Namen des Projekts und die genutzte Visual Studio Version als Information für den Nutzer an. enthält das Systemmenü der Anwendung am linken Rand. In dem Menü werden Befehle zur Veränderung des Fensters und Schließen der Anwendung angeboten. bietet am rechten Rand Schaltflächen zum Minimieren (Icon in der Taskleiste), Verkleinern / Maximieren (Vollbild) und Schließen der Anwendung an. C# - Einführung 26.06.12 Seite 18
Menüleiste von Visual Studio Express Datei. Befehle zum Öffnen und Speichern des Projekts. Bearbeiten. Ansicht. Symbolleisten und weitere Fensterboxen ein- oder ausblenden. Projekt. Elemente dem Projekt hinzufügen. Eigenschaften des Projekts einstellen. Debuggen. Ausführen des Programms. Daten. Datenquellen für das Projekt einbinden. Extras. Optionen der Anwendung. Fenster. Anordnung der Fenster am Bildschirm. Hilfe. C# - Einführung 26.06.12 Seite 19
Befehle in der Menüleiste... werden durch ein Klick auf den Kategorie-Namen in einem Menü angezeigt. sind manchmal nur in Abhängigkeit einer bestimmten Aktion aktiv. haben am rechten Rand einen schwarzen Pfeil zum Öffnen eines Untermenüs. können manchmal mit Hilfe einer Tastatur-Kombination gestartet werden. C# - Einführung 26.06.12 Seite 20
Symbolleisten von Visual Studio Express... zeigen häufig genutzte Befehle aus der Menüleiste mit Hilfe eines kleinen Symbols an. sammeln Befehle zu einem Thema. werden mit Hilfe des Menübefehls Ansicht Symbolleisten eingeblendet. haben am linken Rand einen Anfasser zum Verschieben der Leiste. haben am rechten Rand eine Schaltfläche nach unten, um Symbole ein- oder auszublenden. C# - Einführung 26.06.12 Seite 21
Befehle in der Symbolleiste... werden durch ein Klick auf die Symbolschaltfläche gestartet. sind manchmal nur in Abhängigkeit einer bestimmten Aktion aktiv. haben am rechten Rand einen schwarzen Pfeil zum Öffnen eines Untermenüs. C# - Einführung 26.06.12 Seite 22
Projektmappen-Explorer... zeigt den Inhalt der Projektmappe an. bildet das Verzeichnis einer Projektmappe im Windows Explorer ab. ist die Schaltzentrale eines Projekts. C# - Einführung 26.06.12 Seite 23
hat am oberen Rand Schaltflächen, um... das Eigenschaftenfenster zu dem aktiven Element einzublenden. Ordner wie bin oder debug im Projektmappen-Explorer anzuzeigen. die Ansicht zu aktualisieren. und bei Auswahl einer Datei mit der Endung.cs kann der dazugehörige Code angezeigt werden. C# - Einführung 26.06.12 Seite 24
Projektmappe... enthält beliebig viele Projekte und Metadaten zum Konfigurieren und Erstellen von ausführbaren Anwendungen, entspricht dem Wurzelverzeichnis in Windows Explorer. wird in einer Datei mit der Endung.sln gespeichert. Die globalen Optionen der Projektmappe werden in einer Datei mit der Endung.suo gespeichert. C# - Einführung 26.06.12 Seite 25
Projekt... enthält Ordner und Programmdateien zur Lösung eines bestimmten Problems. wird in Abhängigkeit der gewählten Vorlage erstellt. kann aus mehreren Dateien bestehen. hat die Dateiendung.csproj. Das aktive Projekt wird im Projektmappen-Explorer fett geschrieben. C# - Einführung 26.06.12 Seite 26
Startprojekt Auswahl der Projektmappe. Projekt Startprojekt festlegen. C# - Einführung 26.06.12 Seite 27
Eigenschaftenfenster... zeigt bei Auswahl eines Elements im Projektmappen-Explorer den Pfad und den Namen des Elements an. zeigt Attribute von Steuerelementen in Windows Forms an. C# - Einführung 26.06.12 Seite 28
Arbeitsbereich der Konsolenanwendung C# - Einführung 26.06.12 Seite 29
Arbeitsbereich Anzeige von Elementen aus einem Projekt auf Registerkarten. Jede Registerkarte zeigt am oberen Rand den Namen des Elements an. Ein farbiger Reiter kennzeichnet die aktive Registerkarte. Mit einem Klick auf das Kreuz wird eine Registerkarte geschlossen. C# - Einführung 26.06.12 Seite 30
Codefenster zeigt... in dem linken Kombinationsfeld alle Klassen an. in dem rechten Kombinationsfeld alle Methoden in der gewählten Klasse. darunter den dazugehörigen Code an. Der Code wird wie in einem Texteditor eingegeben und bearbeitet. C# - Einführung 26.06.12 Seite 31
Generiertes Startprogramm für eine Konsole using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { } } } C# - Einführung 26.06.12 Seite 32
Anweisungen in C# Jede Anweisung endet mit einem Semikolon. Anweisungen werden mit Hilfe von Operatoren, Operatoren und Schlüsselwörtern aus C# erstellt. C# - Einführung 26.06.12 Seite 33
using... Definition eines Gültigkeitsbereichs mit Hilfe eines Namens. Klassen aus diesen Bereich können in dem Programm genutzt werden. Die Groß- und Kleinschreibung wird bei der Angabe des Namens beachtet. System enthält Methoden zur Ein- und Ausgabe von Daten in die Eingabeaufforderung. System.Text enthält Methoden zum Bearbeiten von Zeichenketten. Mit Hilfe des Punktes wird die Hierarchie der Bibliotheken untereinander dargestellt. C# - Einführung 26.06.12 Seite 34
namespace ConsoleApplication1{ } Festlegung eines eigenen Namensraums, der Bezeichner organisiert und deren Gültigkeit festlegt. Der automatisch generierte Namen kann vom Entwickler geändert werden. Der Namensraum beginnt und endet mit einer geschweiften Klammern. C# - Einführung 26.06.12 Seite 35
class Programm { } Definition einer Klasse. Die Klasse beginnt und endet mit den geschweiften Klammern. Eine Klasse hat Attribute und Methoden. C# - Einführung 26.06.12 Seite 36
Klassenmethode Main... ist bei einer Konsolenanwendung der Startpunkt. beginnt und endet mit den geschweiften Klammern. bekommt die Befehlszeilenargumente in einem Feld von Strings übergeben. Der Parameter wird durch die runden Klammern im Anschluss an den Namen der Methode angegeben. ist statisch. Die Methode existiert exakt einmal. gibt keine Werte an den Aufrufer zurück. C# - Einführung 26.06.12 Seite 37
Code hinzufügen Die Einfügemarke wird in eine leere Zeile zwischen den geschweiften Klammern der Methode Main gesetzt. Es wird Programmcode für die Methode Main eingefügt. Die Einfügemarke wird in eine leere Zeile zwischen den geschweiften Klammern der Klasse gesetzt. Der Klasse können Attribute und Methoden hinzugefügt werden. C# - Einführung 26.06.12 Seite 38
Code in der Klasse } class Program{ static void Main(string[] args) { string person; Console.WriteLine("Eingabe eines Namens"); person = Console.ReadLine(); Console.WriteLine("Hallo {0}",person); Pause(); // Warten auf Tastendruck } static void Pause() { Console.WriteLine("Irgendeine Taste"); Console.ReadKey(true); } C# - Einführung 26.06.12 Seite 39
Kommentare... werden im Code standardmäßig grün dargestellt. werden vom Compiler überlesen. bieten Informationen für den Entwickler. Einzeilige Kommentare beginnen mit zwei Schrägstrichen C# - Einführung 26.06.12 Seite 40
Methoden static void Main(string[] args) { } static void Pause() { } static. Die Methode existiert nur einmal. void. Die Methode hat keinen Rückgabewerte. Der Methodennamen gibt Auskunft über die Funktionalität. In den runden Klammern können Parameter für die Methode angegeben werden. Die Parameter werden für den ordnungsgemäßen Ablauf benötigt. Main bekommt Befehl der Kommandozeile übergeben. In den eckigen Klammern folgt der Code der Methode. Methoden werden mit ihren Namen aufgerufen. C# - Einführung 26.06.12 Seite 41
Variablen... string person; können einen beliebigen Wert in einem bestimmten Format speichern. In diesem Beispiel kann eine Zeichenkette in der Variablen gespeichert werden. C# - Einführung 26.06.12 Seite 42
Ein- und Ausgabe in dem Programm Console.WriteLine("Text"). Textausgabe auf die Konsole. Die Ausgabe wird mit einem Zeilenumbruch beendet. Der auszugebende Text wird durch Anführungsstriche begrenzt. Console.ReadLine() liest Text von der Konsole ein. Die Eingabe wird mit Hilfe der Eingabetaste abgeschlossen. Console.ReadKey(true) wartet auf den Druck einer Taste. Kommentare beginnen mit zwei Schrägstrichen. Der Compiler überliest diesen Text. Kommentare sind Hilfen für den Entwickler. C# - Einführung 26.06.12 Seite 43
Intellisense bei der Eingabe C# - Einführung 26.06.12 Seite 44
Projekt speichern Datei Alles speichern speichert das gesamte Projekt. In dem ersten Textfeld wird der Name des Projekts eingegeben. Der Projektmappenname in dem dritten Textfeld wird automatisch angepasst. In dem zweiten Textfeld kann der Pfad zum Projekt mit Hilfe der Schaltfläche Durchsuchen angegeben werden. Standardmäßig wird ein Verzeichnis für die Projektmappe erzeugt. C# - Einführung 26.06.12 Seite 45
Projekt ausführen Symbol Debugging starten oder F5 startet das Programm in Visual Studio. Das Programm wird automatisiert Zeile für Zeile abgearbeitet. C# - Einführung 26.06.12 Seite 46
Ablauf bei unmanaged Code Code.cs.NET Compiler Common Intermediate Language Bytecode C# - Einführung 26.06.12 Seite 47
Ablauf bei managed Code Code.cs.NET Compiler Common Intermediate Language Just-In-Time-Compiler CLR Maschinencode C# - Einführung 26.06.12 Seite 48
Zeilennummer anzeigen Extras Optionen. Alle Einstellungsmöglichkeiten werden angezeigt. Ordner Text-Editor Alle Sprachen Allgemein öffnen. Aktivierung des Kontrollkästchens Zeilennummer im Bereich Anzeigen. C# - Einführung 26.06.12 Seite 49
Einzelschrittmodus nutzen Debuggen Einzelschritt oder F11 durchlaufen das Programm Zeile für Zeile. F11 führt eine Zeile aus und wartet auf den nächsten Tastendruck. C# - Einführung 26.06.12 Seite 50
Anzeige von Fehlern Ansicht Weitere Fenster Fehlerliste. C# - Einführung 26.06.12 Seite 51
Optionen für Visual Studio Extras Optionen. Aktivierung des Kontrollkästchen Alle Einstellungen anzeigen. C# - Einführung 26.06.12 Seite 52
Auswahl des Standard-Speicherortes Extras Optionen. Alle Einstellungsmöglichkeiten werden angezeigt. Ordner Projekte und Projektmappen öffnen. Mit Hilfe der Schaltfläche Drei Punkte rechts von dem Textfeld Projektspeicherort kann der gewünschte Ort ausgewählt werden. C# - Einführung 26.06.12 Seite 53
Optionen für die Projektmappe Auswahl der Projektmappe im Projekt-Explorer. Projekt Eigenschaften. C# - Einführung 26.06.12 Seite 54
Optionen für das Projekt Auswahl des Projekts im Projekt-Explorer. Projekt [Name]-Eigenschaften. C# - Einführung 26.06.12 Seite 55
Assembly... enthält die kompilierten (übersetzten) Projektdateien. enthält Informationen zu den enthalten Typen. kann mehrere Module enthalten. ist versioniert. hat die Endung.exe oder.dll. C# - Einführung 26.06.12 Seite 56
Assemblyinformationen Die Eigenschaften des Projekts sind geöffnet. Klick auf die Schaltfläche Assemblyinformationen... im Ordner Anwendung. C# - Einführung 26.06.12 Seite 57