LernMoment / community-fragen

C# Fragen aus der LernMoment Community zum lernen und üben in der LernMoment Community.
The Unlicense
2 stars 3 forks source link

Antwort zu Frage: Was bedeutet {0} beim Console.WriteLine? #13

Open MK-NEUKO opened 3 years ago

MK-NEUKO commented 3 years ago

@suchja Hier meine Antwort zur Frage: Was bedeutet {0} beim Console.WriteLine?

Das {0} in Console.WriteLine() ist ein Formatelement, ein indizierter Platzhalter. Die Zahl zwischen den geschweiften Klammern gibt an, welches Objekt dorthin aufgelöst wird. Die Objekte werden, durch Kommata getrennt, nach der Zeichenfolge angegeben. Dabei hat das erste Objekt nach der Zeichenfolge den Index 0, der Zweite den Index 1 usw.. Das Ganze heißt Kombinierte Formatierung.

Kombinierte Formatierung MSDN - Artikel

Eine Zweite Methode ein Objekt in einer Zeichenfolge unterzubringen, ist das Objekt direkt zwischen den geschweiften Klammern zu schreiben. Dabei muss vor der Zeichenfolge das Sonderzeichen $ eingefügt werden. Zwischen dem $ und der "Zeichenfolge " darf kein Leerzeichen sein. Meines Erachtens sollte dieser Syntax bevorzugt werden, da die Lesbarkeit des Quellcodes, vorausgesetzt die Bezeichner der Objekt sind sinnvoll gewählt, wesentlich besser ist. Dies wird dann Zeichenfolgeninterpolation genannt.

Zeichenfolgeninterpolation MSDN - Artikel

Ich möchte noch ein abschließendes Beispiel geben, welches beide Arten von Syntax, bei jeweils gleicher Ausgabe bietet.

Beispiel:

var mitarbeiterName = "Horst Plümm";
var aktuellesGehalt = 3465.85;

Console.WriteLine("Der Mitarbeiter {0} bekommt in diesem Monat {1}€.", mitarbeiterName, aktuellesGehalt);
Console.WriteLine($"Der Mitarbeiter {mitarbeiterName} bekommt in diesem Monat {aktuellesGehalt}€.");

// Dieses Beispiel erzeugt folgende Ausgabe:
//    Der Mitarbeiter Horst Plümm bekommt in diesem Monat 3465,85€.
//    Der Mitarbeiter Horst Plümm bekommt in diesem Monat 3465,85€.