Ich habe String-Interpolation verwendet und es geliebt, aber ich habe ein Problem, bei dem ich versuche, einen Backslash in meine Ausgabe aufzunehmen, aber nicht in der Lage bin, es zum Laufen zu bringen.
Was ich will ist so etwas ..
var domain = "mydomain";
var userName = "myUserName";
var combo = $"{domain}\{userName}"
Ich möchte, dass die Ausgabe von Combo ist
myDomain\myUserName
Was ich bekomme, ist ein Syntaxfehler darüber, dass \ ein Escape-Zeichen ist. Wenn ich \\ eingebe, ist der Snytax-Fehler weg, aber die Ausgabe ist myDomain \\ myUsername
Wie kann ich maskierte Zeichen in eine interpolierte Zeichenfolge aufnehmen?
c#
.net
string-interpolation
Matt
quelle
quelle
$@"{domain}\{userName}"
. Ich denke, du solltest es versuchen und akzeptieren. Ich hatte genau das gleiche Problem, bis hin zu Domain und Benutzername, und seine Methode funktioniert einwandfrei.Antworten:
Das Escaping mit einem Backslash (
\
) funktioniert für alle Zeichen außer einer geschweiften Klammer.Wenn Sie versuchen, einer geschweiften Klammer (
{
oder}
) zu entkommen , müssen Sie{{
oder}}
per https://msdn.microsoft.com/en-us/library/dn961160.aspx verwenden .quelle
Sie können dies mit beiden $ @ tun. Die Reihenfolge ist wichtig.
quelle
Eduardo ist richtig. Sie entkommen lockigen Zahnspangen, indem Sie sich verdoppeln. Wenn Sie die Domänenvariable als {mydomain} ausgeben möchten, müssen Sie daher Folgendes tun:
Unter der Annahme, dass das aktuelle Datum der 1. September 2016 ist, gehen Sie wie folgt vor:
würde abhängig von Ihrer Lokalisierung etwas wie "Das Datum ist 01.09.2016 15:04:48" ausgeben. Sie können das Datum auch folgendermaßen formatieren:
welches "Das Datum ist der 1. September 2016" ausgeben würde. Interpolierte Zeichenfolgen sind viel besser lesbar. Gute Antwort Eduardo.
quelle
Funktioniert einwandfrei - das Entkommen funktioniert wie gewohnt (außer beim Entkommen
{
). Zumindest unter .NET 4.6 und VS 14.0.22823 D14REL.Wenn es aus irgendeinem Grund nicht funktioniert (vielleicht verwenden Sie eine ältere Version des Compilers?), Können Sie auch versuchen, expliziter zu sein:
quelle
Hallo, die Regel für das Escape des Schrägstrichs in interpolierter Zeichenfolge lautet: Duplizieren Sie den Schrägstrich:
Wenn Sie die interpolierte Zeichenfolge jedoch auch als wörtliche Zeichenfolge verwenden, müssen Sie dem Schrägstrich nicht entkommen:
und du bekommst das gleiche:
Ein Tutorial zur interpolierten Zeichenfolge finden Sie unter Video-interpolierte Zeichenfolge
quelle
Wenn ich nicht missverstanden hätte. Die Lösung ist ganz einfach
Ich teile die Antwort der Vogelhändler sowie die dort zur Verfügung gestellte gute Referenz. Hoffe es ist hilfreich für dich. Meine 5 Cent
quelle
Sie können dies verwenden -
quelle