techstuden t 20.06.2015, tntc 2015 herzlich willkommen c# einführung dennis adrians microsoft...

25
/ TechStude nt 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

Upload: sofia-haupt

Post on 06-Apr-2016

215 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/TechStudent

20.06.2015, TNTC 2015

HERZLICH WILLKOMMENC# Einführung

Dennis AdriansMicrosoft Student Partner

Page 2: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/TechStudent

20.06.2015, TNTC 2015

AGENDAVorbereitung- C#/.NET Architektur- Visual Studio

Grundlegendes- Common Type System- var & foreach- Vererbung- Generics

Page 3: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/TechStudent

20.06.2015, TNTC 2015

AGENDAFortgeschrittenes- LINQ & Lambda-Ausdrücke- Delegates & Events- Asynchrone

Programmierung

Page 4: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/TechStudent

20.06.2015, TNTC 2015

Vorbereitung

Page 5: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 6: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 7: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/TechStudent

20.06.2015, TNTC 2015

C#/.NET Framework

C#/VB/F#/C++

.NET-Klassenbibliothek

Common Language Runtime

Intermediate Language (*.exe/.dll)

Page 8: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 9: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/TechStudent

20.06.2015, TNTC 2015

Grundlegendes

Page 10: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 11: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 12: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 13: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 14: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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>

Page 15: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/TechStudent

20.06.2015, TNTC 2015

Fortgeschrittenes

Page 16: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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, …

Page 17: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 18: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 19: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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)

Page 20: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/TechStudent

20.06.2015, TNTC 2015

Events- Ereignisbasierte Programmierung ist eines der

wichtigsten Konzepte der .NET-Entwicklung

- Erzeugung mit dem event-Schlüsselwort

Page 21: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 22: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 23: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/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

Page 24: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/TechStudent

20.06.2015, TNTC 2015

Fragen ?

Page 25: TechStuden t 20.06.2015, TNTC 2015 HERZLICH WILLKOMMEN C# Einführung Dennis Adrians Microsoft Student Partner

/TechStudent

20.06.2015, TNTC 2015/TechStudent

TNTC 2015

Vielen Dank für‘s Zuhören!