Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Antwort zu Frage: SYN2 - Was bedeutet {0} in Console.WriteLine #8

Open
suchja opened this issue Apr 15, 2020 · 0 comments
Open

Antwort zu Frage: SYN2 - Was bedeutet {0} in Console.WriteLine #8

suchja opened this issue Apr 15, 2020 · 0 comments
Labels
answer Antwort auf eine Frage

Comments

@suchja
Copy link
Member

suchja commented Apr 15, 2020

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.

@suchja suchja added the answer Antwort auf eine Frage label Apr 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
answer Antwort auf eine Frage
Projects
None yet
Development

No branches or pull requests

1 participant