À l'aide de variables à l'intérieur de chaînes
En PHP je peux faire ce qui suit:
$name = 'John';
$var = "Hello {$name}"; //=> Hello John
Est-il un langage similaire construire en C#?
Je sais qu'il est String.Format();
mais je veux savoir si cela peut être fait sans appel d'une fonction/méthode sur la chaîne.
Vous devez vous connecter pour publier un commentaire.
En C# 6 vous pouvez utiliser chaîne d'interpolation:
La coloration syntaxique pour de cette dans Visual Studio, il est très lisible, et tous les jetons sont vérifiées.
Cette fonctionnalité n'est pas intégré dans C# 5 ou ci-dessous.
Mise à jour: C# 6 prend maintenant en charge de la chaîne d'interpolation, voir plus récente réponses.
La méthode recommandée pour faire ce serait avec
String.Format
:Cependant, j'ai écrit un petit open-source appelé bibliothèque SmartFormat qui s'étend
String.Format
afin qu'il puisse utiliser des espaces réservés nommés (par réflexion). Donc, vous pouvez le faire:Espérons qu'il vous plaira!
Jusqu'à C#5 (-VS2013), vous devez appeler une fonction/méthode pour cela. Soit une fonction "normale" comme
String.Format
ou d'une surcharge de l'opérateur+.En C#6 (VS2015) de la chaîne de l'interpolation a été mis en place (comme décrit par d'autres réponses).