diff --git a/README.md b/README.md
index 16d9607a035b3bcc6d0a8dcdc8a8956cd04d1538..0d27458b2ff5a824bb03f8258c94d4b6820e3f13 100644
--- a/README.md
+++ b/README.md
@@ -16,3 +16,28 @@ Compilieren geht mit `dotnet build`, ausgeführt im Ordner wo die `.csproj` lieg
 `dotnet run` compiliert und führt es direkt aus
 
 Wer Visual Studio (das "große", nicht Code) kennt kann auch einfach die `.sln`-Datei damit öffnen. Für VS Code gibt es eine C#-Erweiterung.
+
+## C# - was sollte ich wissen?
+
+C# ist eine syntaktisch an C++ und Java angelehnte Programmiersprache, die sich erst in tiefergehenden Details deutlich unterscheidet. 
+Angemerkt sei, dass Die Laufzeit von C# den Speicher frei räumt (vergleichbar mit Java), darum müssen wir uns also nicht kümmern. Eine Ausnahme bilden native Resourcen wie Streams, diese müssen manuell oder mit einem using-Block geschlossen werden.
+
+Falls ihr etwas im Code verändert: Ich hoffe das meiste ist selbsterklärend. Wichtig sind vielleicht ein paar Sachen zu String:
+
+Es gibt mehrere Arten von String
+
+- `"Text"` - Der String beginnt und endet mit `"`  
+  hier können Escapesequenzen wie `\n` verwendet werden um Sonderzeichen einzufügen. `\"` entspricht einem `"`
+- `@"Text"` - so genannte Verbatim-Strings
+  Escape-Sequenzen können hier nicht genutzt werden, dafür können Zeilenumbrüche direkt eingefügt werden.  
+  Achtung: Auch Leerzeichen am Anfang einer Zeile werden 1 zu 1 mit übernommen  
+  Um ein `"` einzugeben wird `""` benutzt  
+  Diese String-Form ist besonders Praktisch um mehrzeiligen Code oder Pfadangaben mit \ wiederzugeben.
+- `$"Test {var}"` bzw. `$@""` - so genannte Format-Strings  
+  Es gelten die Grundregeln der jeweils anderen Formen. Zusätzlich können Variablen direkt in `{}` angegeben werden. Auf diesen Variablen wird dann `.ToString()` aufgerufen und das Ergebnis einfahc mit der linken- und rechten Seite verknüpft.
+
+Weitere Informationen
+
+- String-Operationen wie `Trim`, `Substring` usw. finden sich in der `System.String`-Klasse. 
+- Formatierungen finden grundsätzlich in der Culture des Systems statt. Um Invariant zu bleiben (im wesentlichen en-US) muss `.ToString(CultureInfo.InvariantCulture)` genutzt werden
+- Einzelne Zeichen (chars) werden in `'` angegeben.