none
Aus der MSDN-Hotline: String-Escape-Sequenzen in C# RRS feed

  • Allgemeine Diskussion

  • 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
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    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.

    Mittwoch, 31. August 2011 11:07