In C# gibt es mehrere Möglichkeiten, Textausgaben zu erzeugen, insbesondere wenn man Konsolenanwendungen schreibt. Hier sind einige der gebräuchlichsten Methoden:
1. Console.WriteLine¶
Console.WriteLine ist die häufigste Methode zur Ausgabe von Text in die Konsole. Sie zeigt den angegebenen Text an und fügt am Ende einen Zeilenumbruch hinzu.
Console.WriteLine("Dies ist eine Textausgabe mit einem Zeilenumbruch!");
Console.WriteLine("Nächste Zeile...");
Dies ist eine Textausgabe mit einem Zeilenumbruch! Nächste Zeile...
2. Console.Write¶
Im Gegensatz zu Console.WriteLine zeigt Console.Write den Text an, ohne einen Zeilenumbruch hinzuzufügen. Dadurch bleibt der Cursor in derselben Zeile.
Console.Write("Dies ist eine Textausgabe ohne Zeilenumbruch.");
Console.WriteLine("Nächste Zeile...");
Dies ist eine Textausgabe ohne Zeilenumbruch.Nächste Zeile...
3. String-Interpolation¶
Seit C# 6.0 kann man Zeichenfolgeninterpolation verwenden, um Variablen und Text miteinander zu kombinieren. Dies geschieht durch das Voranstellen eines $-Zeichens vor die Zeichenkette.
💡 Praxistipp¶
In C# verhält sich der + Operator unterschiedlich, je nachdem, ob er mit int (Integer) oder string Typen verwendet wird:
int
+int
ergibt eine Addition.string
+string
ergibt eine Verkettung.string
+int
oderint
+string
führt zu einer Verkettung, indemint
automatisch instring
umgewandelt wird.- Kombinierte Ausdrücke folgen der Auswertungsreihenfolge von links nach rechts, und sobald ein
string
involviert ist, wird alles alsstring
behandelt, sofern keine Klammern die Reihenfolge ändern.
Um das Beispiel zu verstehen, solltest du folgende Kapitel kennen:
int alter = 13;
int alter2 = 21;
string alter3 = "24";
string alter4 = "25";
Console.WriteLine($"Ich bin {alter3} + {alter4} Jahre alt");
// Verwendet String-Interpolation, um die Zeichenfolgen alter3 und alter4 in die Ausgabe einzubetten.
// Da sie als Text ausgegeben werden, sieht der Benutzer die Ausgabe: "Ich bin 24 + 25 Jahre alt".
Console.WriteLine($"Ich bin {alter3 + alter4} Jahre alt");
// Da alter3 und alter4 Zeichenfolgen sind, wird bei der Verwendung von '+' keine mathematische Addition, sondern eine Verkettung durchgeführt.
// Ergebnis: Die Ausgabe zeigt "Ich bin 2425 Jahre alt".
Console.WriteLine($"Ich bin {alter + alter4} Jahre alt");
// Hier wird versucht, die Ganzzahl alter mit der Zeichenfolge alter4 zu verknüpfen.
// 'alter' wird implizit in eine Zeichenfolge konvertiert und mit 'alter4' verkettet, wodurch der Text "Ich bin 1325 Jahre alt" ausgegeben wird.
Console.WriteLine($"Ich bin {alter3 + alter2} Jahre alt");
// In diesem Fall wird alter3 (eine Zeichenfolge) mit alter2 (eine Ganzzahl) verknüpft.
// alter2 wird zuerst implizit in eine Zeichenfolge konvertiert, sodass das Ergebnis der Verkettung "Ich bin 2421 Jahre alt" lautet.
Console.WriteLine($"Ich bin {alter + alter2} Jahre alt");
// Hier wird die Addition von zwei Ganzzahlen, 'alter' und 'alter2', durchgeführt.
// Das Ergebnis, 34, wird dann in die Ausgabe eingebettet, sodass der Benutzer "Ich bin 34 Jahre alt" sieht.
Console.WriteLine("Ich bin {alter + alter2} Jahre alt");
// Da hier keine String-Interpolation verwendet wird (fehlendes $ vor dem String), werden die Variablen nicht aufgelöst.
// Der Text wird unverändert ausgegeben: "Ich bin {alter + alter2} Jahre alt".
Ich bin 24 + 25 Jahre alt Ich bin 2425 Jahre alt Ich bin 1325 Jahre alt Ich bin 2421 Jahre alt Ich bin 34 Jahre alt Ich bin {alter + alter2} Jahre alt
4. Verkettung von Zeichenfolgen¶
Man kann auch mehrere Zeichenfolgen und Werte durch Verkettung kombinieren, bevor man sie ausgibt.
Console.WriteLine("Dies ist eine " + "verkettete Nachricht.");
Dies ist eine verkettete Nachricht.
5. Formatierte Ausgabe¶
Man kann Console.WriteLine auch mit formatierter Ausgabe verwenden, wobei Platzhalter {} verwendet werden, um Werte in einer Zeichenfolge zu platzieren.
string gender = "weiblich";
Console.WriteLine("Name: {0}, Alter: {1} {2}", "Anna", 30, gender);
/* | | | | | |
| | +------------------^
| +----------------^
+----------------------^ */
Name: Anna, Alter: 30 weiblich
6. Mehrzeilige Ausgaben¶
Man kann auch mehrere Zeilen auf einmal ausgeben, indem man entweder mehrere Console.WriteLine-Befehle verwendet oder \n für Zeilenumbrüche in einer Zeichenkette benutzt.
Console.WriteLine("Erste Zeile\nZweite Zeile\nDritte Zeile");
Erste Zeile Zweite Zeile Dritte Zeile
7. Escape-Sequenzen¶
In C# können spezielle Zeichen wie Anführungszeichen oder Backslashes in Zeichenfolgen mit einem Backslash (\) maskiert werden, um sie korrekt anzuzeigen.
// dies ist ein Kommentar für eine Zeile
Console.WriteLine("Das ist ein \"Zitat\" mit backslash(\\)."); // kann ich auch hier machen
Das ist ein "Zitat" mit backslash(\).
Zusammenfassung¶
Diese Methoden sind nützlich, um Benutzern Informationen anzuzeigen, Debugging zu betreiben oder Daten zu präsentieren. Sie bieten Flexibilität bei der Darstellung und Formatierung von Text.