Heim >Backend-Entwicklung >C++ >Ist das $-Symbol vor einem C#-String ein wörtlicher String oder eine String-Interpolation?
Verbatim-String oder eine neue Funktion? Das Geheimnis von $ vor einem String lüften
Sie sind bei der Verwendung von Visual Studio 2015 CTP auf ein seltsames Ereignis gestoßen. Anstatt wörtliche Zeichenfolgen mit @ zu verwenden, haben Sie versehentlich $ eingegeben, der Compiler hat jedoch ohne Fehler geantwortet. Ziel dieses Artikels ist es, die Rolle von $ vor Strings in C# zu klären.
Das $-Zeichen dient als Abkürzung für String.Format, das eine wichtige Rolle bei String-Interpolationen spielt, einer neuen Funktion, die in C# 6 eingeführt wurde , in Ihrer spezifischen Verwendung wird es im Wesentlichen zu einem Platzhalter, der die Funktionalität von string.Format() widerspiegelt.
Die wahre Leistungsfähigkeit von $ entfaltet sich, wenn es die String-Konstruktion mit Verweisen auf andere Werte erleichtert. Stellen Sie sich ein Szenario vor, in dem Sie die folgenden Variablen haben:
var anInt = 1; var aBool = true; var aString = "3";
In der Vergangenheit hätten Sie sich auf String.Format() verlassen, um eine formatierte Zeichenfolge zusammenzustellen:
var formated = string.Format("{0},{1},{2}", anInt, aBool, aString);
Mit Zeichenfolge Durch die Interpolation wird dieser Prozess mühelos:
var formated = $"{anInt},{aBool},{aString}";
Darüber hinaus bietet C# eine alternative Interpolationssyntax mit $@. Dies ermöglicht eine nahtlose Integration wörtlicher Zeichenfolgenfunktionen und Zeichenfolgeninterpolation, ohne dass Escapezeichen erforderlich sind. Zum Beispiel:
var someDir = "a"; Console.WriteLine($@"c:\{someDir}\b\c");
Die Ausgabe für diesen Code lautet:
c:\a\b\c
Das obige ist der detaillierte Inhalt vonIst das $-Symbol vor einem C#-String ein wörtlicher String oder eine String-Interpolation?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!