CodeGym /Kurse /C# SELF /Strings und Text: Typ string, Arbeiten mit Strings

Strings und Text: Typ string, Arbeiten mit Strings

C# SELF
Level 2 , Lektion 2
Verfügbar

1. Wir schauen uns den Typ string genauer an

Der Typ string ist einer der meistgenutzten Typen in C#. Vielleicht sogar der meistgenutzte überhaupt. Das ist einfach ein genialer Typ, weil du darin Text speichern kannst. Und im Gegensatz zu int und double haben Objekte vom Typ string jede Menge Funktionen, mit denen du coole Sachen machen kannst.

Außerdem können alle Objekte in C# (wirklich alle) in den Typ string umgewandelt werden. Oder, etwas genauer gesagt, alle Objekte in C# geben ihre textuelle (String-)Darstellung zurück. Wir werden noch öfter auf diesen Typ zurückkommen (er ist einfach zu nützlich und spannend), aber heute schauen wir uns erstmal die Basics an.

String-Variablen erstellen

Der Typ string ist dafür da, Strings (Text) zu speichern. Um im Code eine Variable zu erstellen, die Text speichern kann, benutzt du einfach:

string name;
String-Variable erstellen

Wobei name einfach der Name der Variable ist.

Beispiele:

Befehl Beschreibung
string name; Erstellt die String-Variable name
string message; Erstellt die String-Variable message
string text; Erstellt die String-Variable text

Genauso wie bei int und double kannst du auch mehrere Variablen vom Typ string in einer Zeile deklarieren:

string name1, name2, name3;
String-Variablen erstellen

2. String-Variablen Werte zuweisen

Um einer Variable vom Typ string einen Wert zu geben, benutzt du:

name = "wert";
Wert einer String-Variable zuweisen

Und hier kommt schon der erste Unterschied zu den Typen, die wir schon kennen. Alle Werte vom Typ string sind Text und müssen in doppelte Anführungszeichen gesetzt werden.

Beispiele:

Befehl Hinweis
string name = "Anja"; Die Variable name enthält den Text Anja
string city = "New York"; Die Variable city enthält den Text New York
string message = "Hello!"; Die Variable message enthält den Text Hello!

3. String-Variablen initialisieren

Wie bei int und double kannst du String-Variablen direkt beim Erstellen initialisieren. Das geht übrigens mit allen Typen in C#. Also, das erwähnen wir jetzt nicht mehr extra.

string name1 = "string1", name2 = "string2";
String-Variablen erstellen

Beispiel für das Erstellen und Initialisieren von Variablen

string name = "Anja", city = "New York", message = "Hello!";

Nur initialisierte Variablen können benutzt werden

Der C#-Compiler meckert, wenn du eine Variable deklarierst, ihr aber keinen Wert gibst und sie dann benutzen willst.

So ein Code funktioniert nicht:

string name;
Console.WriteLine(name); // Die Variable name ist nicht initialisiert. Das Programm kompiliert nicht.
int a;
a++; // Die Variable a ist nicht initialisiert. Das Programm kompiliert nicht.
double x;
double y = x; // Die Variable x ist nicht initialisiert. Das Programm kompiliert nicht.

4. Konkatenation – Strings zusammenkleben

Es gibt eine ziemlich coole und einfache Sache, die du mit Strings in C# machen kannst – du kannst sie zusammenkleben. Das nennt man Konkatenation. Oder, damit es sich besser einprägt – Kon-Ka-Tenation. Oft sagt man auch einfach „Strings zusammenkleben“ oder sogar „Strings addieren“.

Um zwei Strings zu verbinden, benutzt du das +-Zeichen. Das ist super easy:

"wert1" + "wert2"
Zwei Strings konkatenieren

Beispiele:

Befehl Hinweis
string name = "Anja" + "Anja"; name enthält den String AnjaAnja
string city = "New York" + "Anja"; city enthält den String New YorkAnja
string message = "Hello! " + "Anja"; message enthält den String Hello! Anja

Natürlich kannst du auch mehrere Strings auf einmal zusammenkleben oder Strings und Variablen mischen.

Beispiele:

string name = "Anja";                // name enthält den String Anja
string city = "New York";           // city enthält den String New York
string message = "Hello!" + city + name + city; // message enthält den String Hello!New YorkAnjaNew York

5. Leere Strings

Im letzten Beispiel sieht man, dass der Text in der Variable message schwer zu lesen ist, weil Leerzeichen fehlen. Um ein oder mehrere Leerzeichen einzufügen, schreib sie einfach in den Code und pack sie in doppelte Anführungszeichen. Das ist einfacher als du denkst:

" "
String mit einem Leerzeichen

Übrigens, wenn du zwischen den Anführungszeichen gar nichts schreibst (also zwei doppelte Anführungszeichen direkt nebeneinander), bekommst du einen sogenannten „leeren String“:

""
Leerer String

Auf der einen Seite ist er da, aber wenn du ihn ausgibst, siehst du nichts. Und wenn du ihn mit anderen Strings zusammenklebst, passiert auch nichts. Sozusagen das Null-Äquivalent für Strings.

6. Sonderzeichen in Strings escapen

Du weißt schon, dass Strings in doppelte Anführungszeichen gesetzt werden. Aber was, wenn du Anführungszeichen im String brauchst? Wenn du sie einfach so schreibst, denkt der Compiler doch, das ist das Ende des Strings, oder?

Genau. Deshalb ersetzt man Anführungszeichen im Text durch \". Und der Code sieht dann so aus:

string quote = "Er sagte: \"Hallo!\"";
Console.WriteLine(quote); // Er sagte: "Hallo!"

Eigentlich ist es noch ein bisschen trickreicher. Das Zeichen \ ist ein spezielles (Steuer-)Zeichen in Strings. Damit kannst du verschiedene „unsichtbare Zeichen“ wie Zeilenumbruch, Tab usw. einfügen. Und um das Zeichen \ selbst zu schreiben, musst du es zweimal tippen.

Hier sind die 4 gängigsten Kombinationen:

Schreibweise Bedeutung
\n Zeilenumbruch (newline)
\t Tabulator (Einrückung)
\\ Buchstäblich \
\" Anführungszeichen im String

Beispiel:

string multiline = "Zeile 1\nZeile 2";
Console.WriteLine(multiline);

Ausgabe:

// Zeile 1
// Zeile 2

7. String-Interpolation ($-Strings)

C# ist eine ziemlich moderne Sprache und erlaubt es dir, Variablenwerte easy und schick direkt in einen String einzubauen – mit String-Interpolation. Einfach vor die Anführungszeichen ein $ setzen und in den String geschweifte Klammern {} benutzen. Das kennst du vielleicht schon.

Was du vielleicht noch nicht weißt: In den geschweiften Klammern kannst du ganze Ausdrücke und sogar Funktionsaufrufe reinschreiben! Beispiel:

string name = "Olga";
int birthYear = 1999;

string info = $"Ich heiße {name}, ich bin {2025-birthYear} Jahre alt.";
Console.WriteLine(info); 	// Ich heiße Olga, ich bin 26 Jahre alt.

Das macht den Code viel lesbarer und reduziert Fehler (und Klammern). Mehr zur Interpolation gibt's in einer eigenen Vorlesung, aber für einfache Fälle kannst du das ruhig schon benutzen.

8. Eigene String-Funktionen

Der Typ string hat eigene Funktionen (auch Methoden genannt). Es gibt echt viele davon, und sie machen das Leben von Programmierern leichter. Heute lernst du ein paar (ganz einfache) davon kennen. Beispiel:

Funktion Beschreibung Beispiel-Ergebnis
str.Length Länge des Strings "abc".Length → 3
str.ToUpper() In Großbuchstaben "abc".ToUpper() → "ABC"
str.ToLower() In Kleinbuchstaben "ABC".ToLower() → "abc"
str.Trim() Leerzeichen am Rand entfernen " x y ".Trim() → "x y"

Beispiele für String-Funktionen

Alle diese Funktionen rufst du so auf: variable.funktion(...) .

String-Länge bestimmen:

string name = "Andrej";
int length = name.Length;
Console.WriteLine(length); // 6, weil 6 Buchstaben

String in Groß- oder Kleinbuchstaben umwandeln:

string original = "Hallo";
Console.WriteLine(original.ToUpper()); // HALLO
Console.WriteLine(original.ToLower()); // hallo

Leerzeichen am Rand entfernen (super praktisch bei Tastatureingaben):

string messy = "   hello   ";
Console.WriteLine(messy.Trim()); // "hello"

Jede dieser Funktionen gibt einen neuen String zurück, der alte String bleibt unverändert.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION