Files
wbs-csharp/Tag 1/Handout - CSharp Einfuehrung.md
T
2026-08-10 15:23:12 +02:00

4.4 KiB
Raw Blame History

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
  • internal ist 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
  • Console ist eine Klasse
  • WriteLine ist 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
  • int ist ein Alias für Int32

Fließkommazahlen

float f = 1.1F;
double d = 1.1;

decimal m = 1.1M;

Erläuterung:

  • float benötigt ein F
  • decimal benötigt ein M

Boolean

bool b = true;
Boolean boolean = true;

Byte

byte b1 = 255;

Erläuterung:

  • in C# ist byte unsigned
  • 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 null sein

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<> → Interface
  • List<> → 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 int und Int32?
  • Warum benötigt float ein F?
  • Was bedeutet string??
  • Was ist der Unterschied zwischen Convert und TryParse?