Präsentation herunterladen
1
Microsoft Student Partner
HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner
2
AGENDA Vorbereitung Grundlegendes C#/.NET Architektur Visual Studio
Common Type System var & foreach Vererbung Generics
3
AGENDA Fortgeschrittenes LINQ & Lambda-Ausdrücke Delegates & Events
Asynchrone Programmierung
4
Vorbereitung
5
C#/.NET Architektur C#/.NET Java CPU (x86, x64, ARM, …) kompilieren
Quellcode (*.cs) .NET-Klassenbibliothek Quellcode (*.java) Java-Klassenbibliothek kompilieren kompilieren Intermediate Language (*.exe/.dll) Bytecode (*.class) Common Language Runtime Java Virtual Machine ausführen ausführen CPU (x86, x64, ARM, …)
6
C#/.NET Architektur C#/.NET C++ CPU (x86, x64, ARM, …) kompilieren
Quellcode (*.cs) .NET-Klassenbibliothek Quellcode (*.cpp) Bibliotheken kompilieren kompilieren Intermediate Language (*.exe/.dll) Maschinencode (*.lib/.dll/.exe) Common Language Runtime ausführen ausführen CPU (x86, x64, ARM, …)
7
C#/.NET Framework .NET-Klassenbibliothek C#/VB/F#/C++
Intermediate Language (*.exe/.dll) Common Language Runtime
8
Visual Studio … eine mächtige IDE für die .NET-Entwicklung.
Viele Versionen möglich. Download: downloads/download-visual-studio-vs.aspx
9
Grundlegendes
10
Common Type System Groß-/Kleinschreibung Referenztypen Werttypen
object class Referenztypen ValueType struct enum Werttypen bool int float … Groß-/Kleinschreibung Bsp.: Double & double sind in C# äquivalent
11
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
12
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
13
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
14
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>
15
Fortgeschrittenes
16
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, …
17
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
18
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
19
Delegates Vorhandene generische Delegates: Action und Func
Action<T1, …, Tn>(T1 arg1, …, Tn argn) Func<T1, …, Tn, TResult>(T1 arg1, …, Tn argn)
20
Events Ereignisbasierte Programmierung ist eines der wichtigsten Konzepte der .NET-Entwicklung Erzeugung mit dem event-Schlüsselwort
21
Events Mit dem +=-Operator können Ereignisse von Handlern abonniert werden Handler sind Delegates! Zur Behandlung werden EventArgs übergeben
22
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
23
Nützliche Links MVA: http://www.microsoftvirtualacademy.com/
Live- & Online-Schulungen MSDN: Community, Dokumentation C#: C#-Referenz
24
Fragen ?
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.