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 …. . NET Framework Visual Studio Common Language Specification (CLS) Betriebssystem C# - Einführung | 26.06.12 Seite 3 C# ... ist eine objektorientierte Programmiersprache. hat Ähnlichkeiten mit C / C++ und enthält Elemente der JavaProgrammierung. 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 ASP.NET Windows Form WPF ADO.NET XML WF WCF Base Class Library .NET Framework Class Library Aufbau des .NET Framework 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 ProjektGerü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 using using using System; System.Collections.Generic; System.Linq; 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