grundlagen von c# - 1 - ifsr.de · uber diesen kurs 11 kurseinheiten (foliens atze) und viele...
TRANSCRIPT
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
• 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
.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#
Link zum Foliensatz ”Einleitung und Theorie” des MVA Kurses
”Einstieg in C# fur Programmierer”
5
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
• 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