Hallo zusammen,
heute wurde uns bei der MSDN Hotline
unter anderem folgende Frage gestellt:
Wie funktioniert
escaping in String-Literalen in C#?
Unsere Antwort bzw. unser Lösungsvorschlag darauf war:
In C# gibt es zwei grundlegend verschiedene Varianten, Text-Literale zu verfassen. Die eine, nennen wir sie die „normale“ Methode, besteht aus einer Deklaration, gefolgt von einer Zuweisung mit Anführungsstrichen:
string a = "Hallo Welt!"; // Hallo Welt!
Die zweite Variante, der „Verbatimstring“, wird bei der Zuweisung aber mit einem @ versehen:
string b = @"Hallo Welt!"; // Hallo Welt!
In beiden Varianten müssen spezielle Zeichen „escapt“ werden, weil sie eine spezielle Bedeutung haben. Im normalen String
kennen Sie wahrscheinlich bereits ein paar:
string c = "\"H\u0061llo Welt!\", sagte er."; // "Hallo Welt!", sagte er.
Im „Verbatimstring“, können Sie weitgehend auf Escaping verzichten. Was immer Sie im Text formulieren können, wird auch im String angezeigt. Nur die
Anführungszeichen innerhalb müssen escapt werden:
string d = @"""Hallo Welt!"", sagte er."; // "Hallo Welt!", sagte er.
- mit einem
weiteren Anführungszeichen.
Wir hoffen, vielen Besuchern der
MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.
Viele Grüße,
Jonathan Best
MSDN Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline:
http://www.msdn-online.de/Hotline
Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu
Markenzeichen
Informationen zur Datensicherheit sowie die gesonderten
Nutzungsbedingungen für die MSDN Hotline.