Variablen und Datentypen
In C# müssen Sie den Datentyp angeben, den eine Variable speichern soll. Häufige Typen sind string (Text), int (Ganzzahlen) und bool (wahr/falsch).
Snippet öffnen →Lies diese C#-Snippets für Anfänger Zeile für Zeile — jedes kommt mit einer Erklärung, was der Code tut und warum.
In C# müssen Sie den Datentyp angeben, den eine Variable speichern soll. Häufige Typen sind string (Text), int (Ganzzahlen) und bool (wahr/falsch).
Snippet öffnen →Ein Array speichert eine Sammlung von Elementen desselben Typs mit fester Größe. Der Zugriff auf Elemente erfolgt über einen Index, der bei 0 beginnt.
Snippet öffnen →Eine Klasse ist ein Bauplan für Objekte. In diesem Beispiel definiert die Klasse 'Book', welche Daten ein Buch hat, und 'new Book()' erstellt eine tatsächliche Instanz davon.
Snippet öffnen →Die 'if'-Anweisung ermöglicht es Ihrem Programm, Entscheidungen zu treffen. Wenn die Bedingung in Klammern wahr ist, wird der erste Codeblock ausgeführt; andernfalls wird der 'else'-Block ausgeführt.
Snippet öffnen →Methoden sind Codeblöcke, die eine bestimmte Aufgabe ausführen. Sie helfen dabei, Code zu organisieren und wiederverwendbar zu machen. 'void' bedeutet, dass die Methode keinen Wert zurückgibt.
Snippet öffnen →Eigenschaften bieten einen flexiblen Mechanismus zum Lesen, Schreiben oder Berechnen des Werts eines privaten Feldes. Automatische Eigenschaften vereinfachen dies, indem der Compiler das private Fe…
Snippet öffnen →Try-Catch-Blöcke werden verwendet, um Fehler (Exceptions) kontrolliert abzufangen. Der Code im 'try'-Block wird ausgeführt, und falls ein Fehler auftritt, übernimmt der 'catch'-Block, anstatt das P…
Snippet öffnen →Die String-Interpolation verwendet das Zeichen '$', um Variablen direkt in geschweiften Klammern in einen String einzufügen, was den Code deutlich lesbarer macht.
Snippet öffnen →Console.ReadLine wird verwendet, um die Programmausführung zu pausieren und darauf zu warten, dass der Benutzer etwas in das Terminal eingibt. Die Eingabe wird als String zurückgegeben.
Snippet öffnen →Eine While-Schleife führt einen Codeblock wiederholt aus, solange eine bestimmte Bedingung wahr bleibt. Sie ist nützlich, wenn die Anzahl der Durchläufe vorher nicht bekannt ist.
Snippet öffnen →Asynchrone Programmierung ermöglicht es deiner Anwendung, reaktionsfähig zu bleiben, indem zeitintensive Operationen ausgelagert werden. Der Modifikator 'async' ermöglicht die Verwendung von 'await…
Snippet öffnen →Die 'using'-Anweisung stellt sicher, dass Objekte, die IDisposable implementieren (wie Dateistreams), ordnungsgemäß geschlossen und aus dem Speicher entfernt werden, sobald der Block beendet ist.
Snippet öffnen →Das Singleton-Muster stellt sicher, dass eine Klasse nur eine Instanz hat und bietet einen globalen Zugriffspunkt darauf. Wir verwenden einen privaten Konstruktor, um Instanziierungen von außen zu…
Snippet öffnen →Strings in C# sind unveränderlich. Für umfangreiche Verknüpfungen ist StringBuilder viel effizienter, da er einen internen Puffer modifiziert, anstatt viele temporäre Strings zu erstellen.
Snippet öffnen →Die Validierung von Eingaben ist entscheidend für Sicherheit und Stabilität. Diese Prüfung stellt sicher, dass ein String nicht null, leer oder nur Leerzeichen ist, bevor er verarbeitet wird.
Snippet öffnen →Asynchrone Programmierung ermöglicht es deinem Code, auf zeitintensive Operationen wie Netzwerkanfragen oder Timer zu warten, ohne die gesamte Anwendung einzufrieren.
Snippet öffnen →Die 'using'-Anweisung ist eine bewährte Methode zur Speicherverwaltung für Objekte, die IDisposable implementieren, und stellt sicher, dass Ressourcen wie Dateien oder Streams automatisch geschloss…
Snippet öffnen →Die Verwendung von Assertions hilft dir, Logikfehler frühzeitig während der Entwicklung zu finden, indem überprüft wird, ob bestimmte Bedingungen wahr sind.
Snippet öffnen →StringBuilder ist wesentlich effizienter als die Verwendung von '+' für Strings in Schleifen, da nicht bei jeder Änderung neue Objekte im Speicher erstellt werden.
Snippet öffnen →Validierungslogik am Anfang einer Methode (Guard Clauses) verhindert, dass ungültige Daten Fehler oder Sicherheitslücken tiefer im Code verursachen.
Snippet öffnen →Async und Await ermöglichen es dem Programm, zeitaufwendige Aufgaben zu bearbeiten, ohne den Haupt-Thread zu blockieren. Task.Delay wird oft verwendet, um Arbeiten asynchron zu simulieren.
Snippet öffnen →Interfaces definieren einen Bauplan für Klassen. Sie ermöglichen Polymorphismus und entkoppeln die Implementierung von der Verwendung, was ein wichtiges Entwurfsmuster ist.
Snippet öffnen →Tests stellen die Zuverlässigkeit des Codes sicher. In einfachem C# können Sie simple Assertions-Methoden erstellen, um zu prüfen, ob Ihre Logik wie erwartet funktioniert.
Snippet öffnen →Indem Sie einer Liste eine Anfangskapazität geben, verhindern Sie mehrfache Speicher-Neuzuweisungen beim Wachsen der Liste, was die Performance verbessert.
Snippet öffnen →Verwendet die Schlüsselwörter async und await, um die Ausführung zu pausieren, ohne den Haupt-Thread zu blockieren, was für reaktionsschnelle Anwendungen essenziell ist.
Snippet öffnen →Debug.Assert wird verwendet, um Bedingungen zu prüfen, die während der Entwicklung immer wahr sein sollten, was hilft, Logikfehler frühzeitig zu finden.
Snippet öffnen →Die Verwendung von StringBuilder ist deutlich schneller als die Standard-String-Verkettung (+), wenn Text innerhalb einer Schleife geändert wird.
Snippet öffnen →Die Prüfung auf Null oder Leerzeichen verhindert Sicherheitslücken und Abstürze, die durch unerwartete leere Benutzereingaben verursacht werden.
Snippet öffnen →Async und await ermöglichen es Ihrem Programm, Aufgaben im Hintergrund auszuführen, ohne den Hauptausführungsfluss einzufrieren, was für reaktionsschnelle Anwendungen unerlässlich ist.
Snippet öffnen →Die Verwendung von stackalloc verwaltet Speicher auf dem Stack statt auf dem Heap, was schneller ist und die Arbeit des Garbage Collectors in Hochleistungsszenarien reduziert.
Snippet öffnen →