4.4 KiB
4.4 KiB
Einführung in C#
Ziel dieser Einheit
In dieser Einheit lernst du:
- wie ein C#-Programm aufgebaut ist
- was eine Klasse ist
- wie die Main-Methode funktioniert
- wie eine Konsolenausgabe erfolgt
- grundlegende Konzepte der Programmiersprache
1. Aufbau eines C#-Programms
Ein C#-Programm besteht aus:
- using-Anweisungen
- Namespace
- Klasse
- Main-Methode
2. using-Anweisungen
using System;
Erläuterung:
- entspricht dem Import in Java
- ermöglicht Zugriff auf vorhandene Klassen
Beispiel:
- Console
- Collections
3. Namespace
namespace _01_Einführung;
Erläuterung:
- organisiert Klassen
- vergleichbar mit Paketen in Java
- muss nicht zwingend der Ordnerstruktur entsprechen
4. Klasse
internal class Einführung
Erläuterung:
- jede Anwendung besteht aus Klassen
- Klassenname frei wählbar
internalist der Standard-Zugriffsmodifizierer
5. Die Main-Methode
private static void Main(string[] args)
Erläuterung:
- Einstiegspunkt des Programms
- wird beim Start zuerst ausgeführt
- jedes Programm besitzt genau eine Main-Methode
6. Konsolenausgabe
Console.WriteLine("Hello, World!");
Erläuterung:
- Ausgabe in der Konsole
Consoleist eine KlasseWriteLineist eine Methode
Farbausgabe
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Ausgabe in Grün.");
Console.ResetColor();
7. Datentypen in C#
Ganzzahlen
short s = 1;
Int16 i16 = 1;
int i = 1;
Int32 i32 = 1;
long l = 1;
Int64 i64 = 1;
Erläuterung:
- es gibt Kurz- und Langschreibweise
intist ein Alias fürInt32
Fließkommazahlen
float f = 1.1F;
double d = 1.1;
decimal m = 1.1M;
Erläuterung:
floatbenötigt einFdecimalbenötigt einM
Boolean
bool b = true;
Boolean boolean = true;
Byte
byte b1 = 255;
Erläuterung:
- in C# ist
byteunsigned - Wertebereich: 0 – 255
Unsigned und Signed Varianten
uint ui = 1;
sbyte sb = -128;
Zeichen
char c1 = 'a';
8. String und Eingabe
string? eingabe = Console.ReadLine();
Erläuterung:
?bedeutet nullable- Wert kann
nullsein
Null-Propagation
eingabe = eingabe?.Substring(2);
- Methode wird nur ausgeführt, wenn Wert nicht null ist
String-Verarbeitung
string zeichenkette = String.Concat("Hallo", "Welt");
9. Eingabe und Konvertierung
eingabe = Console.ReadLine();
int eingabeInt;
Convert mit Exception
try
{
eingabeInt = Convert.ToInt32(eingabe);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
TryParse
bool parseOk = Int32.TryParse(eingabe, out eingabeInt);
Erläuterung:
- kein Exception-Handling nötig
- Ergebnis wird als bool zurückgegeben
10. Tastatureingaben
ConsoleKeyInfo consoleKeyInfo = Console.ReadKey(true);
Erläuterung:
- liest einzelne Tasteneingaben
11. Listen
IList<int> liste = new List<int>();
liste.Add(1);
liste.Add(42);
Erläuterung:
IList<>→ InterfaceList<>→ Implementierung
Iteration
foreach (int z in liste)
Console.WriteLine(z);
12. Arrays
Eindimensionale Arrays
int[] intArray = { 0, 1, 2 };
Mehrdimensionale Arrays
int[,] array2D =
{
{ 0, 1, 2 },
{ 3, 4, 5 }
};
Jagged Arrays
int[][] jagged =
{
new int[] { 0, 1 },
new int[] { 2, 3, 4 }
};
13. Nullable
int? zahl = null;
Erläuterung:
- Wertetyp kann null sein
- zusätzlicher Zustand: „kein Wert“
bool? bNull = null;
- ermöglicht drei Zustände:
- true
- false
- null
Zusammenfassung
- C#-Programme bestehen aus Klassen und einer Main-Methode
- using-Anweisungen ermöglichen den Zugriff auf Bibliotheken
- Datentypen haben Aliase (
int,Int32) - Nullable-Typen erlauben null-Werte
- Listen und Arrays dienen zur Datenverwaltung
- Eingaben und Konvertierungen sind zentrale Bestandteile
Verständnisfragen
- Was ist der Einstiegspunkt eines C#-Programms?
- Was ist der Unterschied zwischen
intundInt32? - Warum benötigt
floateinF? - Was bedeutet
string?? - Was ist der Unterschied zwischen
ConvertundTryParse?