Hallo, ich bin mir sicher das zu meiner Frage eine Menge im Internet oder speziell in diesem Forum zu finden ist, doch leider ist die Suche danach nur schwer möglich, da ich nicht weiß um was es geht. 🙂
Ich habe gerade in einem Quellcode folgende Zeile gesehen:
string testString = path+@"\test.txt";
Könnt ihr mir bitte sagen was es mit dem @-Zeichen auf sich hat?
Meine Vermutung liegt ja bei Konfigurationsdateien und deren Zugriff, doch ich bin mir nicht sicher. Konnte bisher leider nichts passendes dazu im Netz finden.
MfG
wax
Hallo Wax,
das @ vor einem Literalstring soll als Erleichterung bei Escape-Sequenzen dienen bzw. verbietet er es dir in dem nachfolgenden String Escape-Sequenzen wie z.B.: \n zu verwenden.
Beispiel:
if(@"\" == "\\")
Console.WriteLine("Diese Zeile wird immer geschrieben!");
Gruß,
Kani
//EDIT:
Steht mit sicherheit aber auch in der MSDN!
Das @-Zeichen steht dafür, dass man bestimmte Zeichen im String nicht "escapen" muss.
ohne das @ müsste man das schreiben:
string testString = path+"\\test.txt";
Das Doppelte \ steht dann für ein Einzelnes da das \ normalerweise escape-Sequenzen einleitet wie z.B. "\n" steht für einen Absatz.
Der Code
MessageBox.Show("Erster Absatz\nZweiter Absatz");
würde also Folgende ausgabe enthalten:
Erster Absatz
Zweiter Absatz
Würde man nun ein @ davor schreiben, also so:
MessageBox.Show(@"Erster Absatz\nZweiter Absatz");
wäre die Ausgabe:
Erster Absatz\nZweiter Absatz
Gruß, Christian
//EDIT: zu spät ....
Gleich so viele Antworten. 👍
Doch dann auch noch ein Thread mit "fast" gleichem Titel schäm 8o
Nun erklärt sich auch weshalb nur ein"" im String verwendet wird. Das ich das bisher noch nirgendwo gesehen habe.... echt unglaublich.
Schönen Tag noch euch allen
Hallo Wax,
kannst dich gleich noch mehr schämen, es steht auch in der FAQ: [FAQ] Was bedeutet das @ (=at) vor String-Literalen? 🙂
herbivore