TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft...
-
Upload
sofia-haupt -
Category
Documents
-
view
215 -
download
3
Transcript of TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft...
/TechStudent
20.06.2015, TNTC 2015
HERZLICH WILLKOMMENC# Einführung
Dennis AdriansMicrosoft Student Partner
/TechStudent
20.06.2015, TNTC 2015
AGENDAVorbereitung- C#/.NET Architektur- Visual Studio
Grundlegendes- Common Type System- var & foreach- Vererbung- Generics
/TechStudent
20.06.2015, TNTC 2015
AGENDAFortgeschrittenes- LINQ & Lambda-Ausdrücke- Delegates & Events- Asynchrone
Programmierung
/TechStudent
20.06.2015, TNTC 2015
Vorbereitung
/TechStudent
20.06.2015, TNTC 2015
C#/.NET Architektur
CPU (x86, x64, ARM, …)
Quellcode (*.cs)
.NET-Klassenbibliothek
Common Language Runtime
Intermediate Language (*.exe/.dll)
C#/.NET
kompilieren
ausführen
Quellcode (*.java)
Java-Klassenbibliothek
Java Virtual Machine
Bytecode (*.class)
Java
kompilieren
ausführen
/TechStudent
20.06.2015, TNTC 2015
C#/.NET Architektur
CPU (x86, x64, ARM, …)
Quellcode (*.cs)
.NET-Klassenbibliothek
Common Language Runtime
Intermediate Language (*.exe/.dll)
C#/.NET
kompilieren
ausführen
Quellcode (*.cpp) Bibliotheken
Maschinencode (*.lib/.dll/.exe)
C++
kompilieren
ausführen
/TechStudent
20.06.2015, TNTC 2015
C#/.NET Framework
C#/VB/F#/C++
.NET-Klassenbibliothek
Common Language Runtime
Intermediate Language (*.exe/.dll)
/TechStudent
20.06.2015, TNTC 2015
Visual Studio- … eine mächtige IDE für die .NET-Entwicklung.
- Viele Versionen möglich.
- Download: https://www.visualstudio.com/de-de/downloads/download-visual-studio-vs.aspx
/TechStudent
20.06.2015, TNTC 2015
Grundlegendes
/TechStudent
20.06.2015, TNTC 2015
Common Type System
object
boolint
float …
ValueType structenum
class Referenztypen
Werttypen
Groß-/KleinschreibungBsp.: Double & double sind in C# äquivalent
/TechStudent
20.06.2015, TNTC 2015
var & foreach- Implizite
Typsierung von Variablen mit dem var-Schlüsselwort
- foreach-Schleife über eine Objektauflistung, die IEnumerable implementiert
- Angabe der Auflistung mit in-Schlüsselwort
/TechStudent
20.06.2015, TNTC 2015
Vererbung- Klassen können von genau einer Basisklasse
erben und beliebig viele Interfaces implementieren
- Klassen erben von anderen oder implementieren andere Klassen mit dem :-Operator
- (Auto-) Properties und Methoden können unterschiedliche Zugriffsmodifizierer haben
/TechStudent
20.06.2015, TNTC 2015
Vererbung- Mit dem virtual-Schlüsselwort markierte
Methoden können überschrieben werden
- Methoden, die andere überschreiben müssen mit dem override-Schlüsselwort markiert werden
- Mit dem base-Schlüsselwort bekommt man Zugriff zur Funktionalität der Basisklasse
/TechStudent
20.06.2015, TNTC 2015
Generics- Generische Methoden und Klassen durch
Angabe von Typparametern in <T>
- Ermöglicht verzögerte Angabe von Typen bis zur Instanziierung oder Deklaration
- Es gibt unterschiedliche Generic Collections, alle implementieren IEnumerable<T>
/TechStudent
20.06.2015, TNTC 2015
Fortgeschrittenes
/TechStudent
20.06.2015, TNTC 2015
LINQ- Die Language Integrated Query Features
ermöglichen einfache und effiziente Abfragefunktionen auf unterschiedlichste Datenstrukturen (Arrays, Collections, SQL, ADO.NET, XML, …)
- Auswahl der Elemente und Struktur mit from und in
- Viele Standard-Funktionen werden mitgeliefert: select, where, orderby, select, …
/TechStudent
20.06.2015, TNTC 2015
Lambda-Ausdrücke
- … sind anonyme Funktionen, also lokal definierte Funktionen ohne Deklaration
- Verwendung: (params) => { statements; }
- Besonders nützlich für LINQ-Abfragen und Zuweisung an Delegates
/TechStudent
20.06.2015, TNTC 2015
Delegates- Typ mit einer Referenz auf eine Funktion einer
bestimmten Signatur
- Kann wie eine “Variable” verwendet werden
- Deklaration mit dem delegate-Schlüsselwort und der passenden Funktionssignatur
/TechStudent
20.06.2015, TNTC 2015
Delegates- Vorhandene generische Delegates: Action und Func
Action<T1, …, Tn>(T1 arg1, …, Tn argn) Func<T1, …, Tn, TResult>(T1 arg1, …, Tn argn)
/TechStudent
20.06.2015, TNTC 2015
Events- Ereignisbasierte Programmierung ist eines der
wichtigsten Konzepte der .NET-Entwicklung
- Erzeugung mit dem event-Schlüsselwort
/TechStudent
20.06.2015, TNTC 2015
Events- Mit dem +=-Operator können Ereignisse von
Handlern abonniert werden
- Handler sind Delegates!
- Zur Behandlung werden EventArgs übergeben
/TechStudent
20.06.2015, TNTC 2015
Asynchrone Programmierung
- Asynchrone Methoden müssen mit dem async-Schlüsselwort markiert werden
- Mögliche Rückgabetypen sind void, Task und Task<TResult>
- Mit dem await-Schlüsselwort kann auf das Resultat einer Aufgabe gewartet und entgegengenommen werden
/TechStudent
20.06.2015, TNTC 2015
Nützliche Links- MVA: http://www.microsoftvirtualacademy.com/
Live- & Online-Schulungen
- MSDN: https://msdn.microsoft.com/de-deCommunity, Dokumentation
- C#: https://msdn.microsoft.com/de-de/library/618ayhy6.aspx
C#-Referenz
/TechStudent
20.06.2015, TNTC 2015
Fragen ?
/TechStudent
20.06.2015, TNTC 2015/TechStudent
TNTC 2015
Vielen Dank für‘s Zuhören!