22
Grundlagen von C# -1 Marc Satkowski 20. November 2016 C# Kurs

Grundlagen von C# - 1 - ifsr.de · Uber diesen Kurs 11 Kurseinheiten (Foliens atze) und viele Aufgaben keine besonderen Programmierkenntnisse vorausgesetzt, aber n utzlich Ressourcen

Embed Size (px)

Citation preview

Grundlagen von C# - 1

Marc Satkowski

20. November 2016

C# Kurs

Gliederung

1. Uber diesen Kurs

2. Benotigte Software

3. Exkurs: Architektur von .NET und C#

4. Erstes Programm: Hello World

Grundlegende Eigenschaften

5. Grundlagen der Sprache

Variablen Deklaration

Datentypen

Casting

Operatoren

Kommentare

Methoden Deklaration

1

Uber diesen Kurs

Uber diesen Kurs

• 11 Kurseinheiten (Foliensatze) und viele Aufgaben

• keine besonderen Programmierkenntnisse vorausgesetzt, aber

nutzlich

• Ressourcen

• Google (C# meine Frage hier); man landet oft auf der Microsoft Seite

• Stackoverflow

• unsere Github-Organisation

2

Uber diesen Kurs

Die Materialien findet ihr hier:

fsr.github.io/csharp-lessons/

3

Benotigte Software

Benotigte Software

.Net-Framework

• Kann mit Visual Studio installiert werden

• oder mit Mono fur Linux, Windows oder Mac

IDEs

• Visual Studio fur Windows

• Mono Develop fur Linux, Windows oder Mac

• Visual Code fur Linux, Windows oder Mac

• Benotigt noch eine C#-Extension (Ctrl+P -> ext install C#)

4

Exkurs:

Architektur von .NET und C#

Exkurs: Architektur von .NET und C#

Link zum Foliensatz ”Einleitung und Theorie” des MVA Kurses

”Einstieg in C# fur Programmierer”

5

Erstes Programm: Hello World

Hello World

1 using System;

2 namespace HelloWorld

3 {

4 class Hello

5 {

6 public static void Main()

7 {

8 Console.WriteLine("Hello World!");

9

10 // Laesst die Konsole offen.

11 Console.ReadKey ();

12 }

13 }

14 }

6

Grundlegende Eigenschaften

• Am Ende jedes Befehls steht ein Semikolon (;)

• Befehle konnen auch uber mehrere Zeilen geschrieben werden

• Codeblocke werden durch geschweifte Klammern gekennzeichnet

• Einruckungen sind nicht zwingend aber hilfreich

7

Grundlagen der Sprache

Grundlagen der Sprache

• C# ist eine typsichere, objektorientierte

Allzweck-Programmiersprache

• Hat auch andere Paradigmen wie:

• imperativ

• deklarativ

• ereignisorientiert

• generisch

• ...

• basiert auf einer VM

8

Variablen Deklaration

Variablen

• Variablen mussen vor der Benutzung deklariert werden

• Sie konnen auch gleichzeitig oder separat initialisiert werden

• Syntax:

• <Datentyp> <Variablenname>;

1 int zahl;

2 int ganzzahl = 0;

3 float kommazahl = 2.345211;

4 string name = "Max Mustermann";

9

Primitive Datentypen

Name Funktion

int, long Ganzzahl ”beliebiger”Große

uint, ulong Naturliche Zahle ”beliebiger”Große

float, double Gleitkommazahl ”beliebiger”Große

ufloat, udouble Positive Gleitkommazahl ”beliebiger”Große

decimal Praziser Bruch/Ganzzahl mit 29 signifikanten Stellen

bool Wahrheitswert (True, False)

char Ein einzelnes Zeichen

string Eine Folge von Zeichen

• Die Variablen mit u (unsigned) als ersten Buchstaben werden nur

selten genutzt

10

Casting

• Ist das Umwandeln von einem Datentyp in einen anderen

• Klappt bei allen Datentypen die es gibt

• Achtung:

• Casting zwischen inkompatiblen Datentypen (z.B. string zu float)

kann Fehler hervorrufen

• Es gibt 2 Arten von Casting:

Implizit Ohne besondere Syntax ausfuhrbar

z.B. Bei int zu long

Explizit Benotigt besondere Syntax

z.B. Bei float in int

11

Explizites Casting

• Syntax:

• <Variable> = (Variablentyp)Wert;

1 float floatVariable = 2.45;

2 int intVariable = 0;

3 // Der Wert ist nun 2

4 intVariable = (int)floatVariable;

5 // Der Wert ist nun 2.000

6 floatVariable = (float)intVariable;

12

Operatoren

mathematisch +, -, *, /, %

+=, -=, *=, /=, ++ (Inkrementieren), --

(Dekrementieren)

vergleichend <, >, <=, >=, == (Gleichheit), !=

(Ungleichheit)

logisch && (Und), || (Oder), ! (Negation)

bitweise &, |, <<, >>, ^ (xor), ~ (invertieren)

13

Kommentare

• Werden vom Compiler nicht beachtet und dienen nur zum besseren

Verstandnis des Codes fur Programmierer

• Außerdem kann aus Dokumentationskommentare eine

Dokumentation erstellt werden

1 // Einzeiliger Kommentar

2

3 /*

4 * Mehrzeiliger Kommentar

5 */

6

7 /// <summary >

8 /// Dokumentationskommentar fuer Klassen , Methoden und

9 /// Attribute/Eigenschaften

10 /// </summary >

11 public class Klasse { }

14

Methoden Deklaration

Methoden

• Definieren ein gewisses Objektverhalten, welches durch die Methode

aufgerufen werden kann

• Diese konnen noch durch Schlusselworter modifiziert werden

• Syntax:

• <Ruckgabetyp> <Methodenname>( [Ubergabeparameter] )

{ <Code> }

15

Methoden Deklaration

1 int toPowerOf3(int zahl1)

2 {

3 int solution = zahl1 * zahl1;

4 solution *= zahl1;

5 return solution;

6 }

1 int number = toPowerOf3 (7);

2 number -= 22; // Wieviel ist jetzt diese Zahl?

16