Verwendung von Variablen innerhalb von strings
In PHP kann ich Folgendes tun:
$name = 'John';
$var = "Hello {$name}"; //=> Hello John
Gibt es ein ähnliches sprachkonstrukt in C#?
Ich weiß, es ist String.Format();
aber ich möchte wissen, ob es getan werden kann, ohne den Aufruf einer Funktion/Methode auf der string.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In C# 6 können Sie string-interpolation:
Dem syntax-highlighting für diese in Visual Studio macht es sehr gut lesbar und alle tokens überprüft werden.
Diese Funktionalität ist nicht integriert, um C# 5 oder unten.
Update: C# 6 unterstützt nun die string-interpolation, siehe neuere Antworten.
Ist der empfohlene Weg, dies zu tun wäre mit
String.Format
:Jedoch, ich schrieb ein kleines open-source-Bibliothek namens SmartFormat erweitert
String.Format
so dass Sie es verwenden können, benannte Platzhalter (per reflection). So, könnten Sie das tun:Hoffe Euch gefällt es!
Bis C#5 (-VS2013) Sie rufen eine Funktion/Methode für Sie. Entweder einen "normalen" Funktion wie
String.Format
oder eine überlast der + - operator.In C#6 (VS2015) string-interpolation eingeführt worden (siehe andere Antworten).