Wie kann ich verhindern, dass ReadAsStringAsync Rückkehr eine doppelt escaped string?

Ich habe eine Web-API-Methode, die ein bisschen aussieht wie diese:

    [HttpPost]
    public ResponseMessageResult Post(Thing thing)
    {
        var content = "\r";
        var httpResponseMessage = Request.CreateResponse(HttpStatusCode.Accepted, content);
        return ResponseMessage(httpResponseMessage);
    }

In einigen anderen client-code, wenn ich rufe:

    var content = httpResponseMessage.Content.ReadAsStringAsync().Result;

content ist:

    "\\r"

aber ich möchte es zu bleiben, wie das original:

    "\r"

warum ist der client empfängt ein doppelt escaped string und wie kann ich es verhindern?

Der zurückgegebene string ist "\\r" weil @"\r" entspricht "\\r". Wenn Sie möchten, übergeben Sie die return-Zeichen anstelle von Escape-version, entfernen die verbatim-modifier.
JSON-würde es brauchen \\r in einen string, wenn Sie wollen `.
P, Nein, ich bin empfangen von verbatim '@"\\r"'
der text-box angezeigt \r (wörtlich), es ist nicht zweideutig, habe ich den Wert @"\r", erhalten den Wert @"\\r", brauchen aber den Wert @"\r" in meinem client-code wie bereits in der Frage.
Ich Verweise wieder auf meinen ersten Kommentar. \r in einem Textfeld die Zeichenfolge "\\r" die gleich @"\r". Entfernen Sie die wörtliche Charakter.

InformationsquelleAutor Grokodile | 2013-11-05

Schreibe einen Kommentar