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: SYN2 - Was bedeutet {0} in Console.WriteLine #8

Open suchja opened 4 years ago

suchja commented 4 years ago

Auch diese Frage von Thomas ist wirklich toll. Insbesondere weil sie gut zu erweitern ist mit weiteren Detailfragen.

Antwort zur Frage von Thomas

Hallo Thomas,

Du hast absolut recht. Ich habe noch nicht erklärt was die {0} bedeutet :-(.

Stell dir {0} wie ein Platzhalter vor. Du sagst damit dem Compiler, dass der Inhalt der an dieser Stelle stehen soll später kommt. Wenn du dann weiter schaust, siehst du, dass nach dem string (also nach den 2. Anführungszeichen oben) ein Komma und ein Variablenname folgt (summe). Der aktuelle Wert dieser Variablen wird nun für den Platzhalter verwendet.

Nun möchtest du vielleicht nicht nur einen Wert in den string einfügen sondern mehrere. Dafür erlaubt es diese Schreibweise, dass du nach dem string mehrere Variablenname mit Komma getrennt angibst. Über die Zahl in den geschweiften Klammern gibst du an, an welcher Position die Variable in der Liste der angegebenen Variablen steht.

0 bedeutet in diesem Beispiel also, dass der Wert der ersten Variablen verwendet wird (wir haben ja auch nur eine angegeben ;). Hätten wir jedoch zum Beispiel auch die Variablen ersterText und zweiterText nach dem string angegeben, dann könnte das ganze so aussehen:

string ersterText = "Zehn";
string zweiterText = "10";
string summe = ersterText + "+" + zweiterText;

Console.WriteLine(„Die Summe von {0} und {1} ist nicht {2}. Oder doch?“, ersterText, zweiterText, summe);

Macht das Sinn für dich?

Antworten zu den Bonus-Fragen

Eine weitere Möglichkeit wäre folgende:

string ersterText = "Zehn";
string zweiterText = "10";
string summe = ersterText + "+" + zweiterText;

Console.WriteLine($"Das Resultat {summe}");

Diese Schreibweise mit dem $ nennt man string-Interpolation. Meiner Meinung nach ist sie wesentlich verständlicher und vor allem pflegeleichter, weil man nicht mehr die Zuordnung zwischen Platzhalter und Liste der Variablen hat.

Mehr zum Thema string-Interpolation findest du in diesem Artikel auf LernMoment.de.