Y at - il une notation heredoc pour les chaînes en C #, de préférence où je ne dois pas échapper à quoi que ce soit (y compris des guillemets doubles, qui sont une bizarrerie dans les chaînes verbatim)?
Réponses
Trop de publicités?Comme d'autres l'ont dit, il n'y en a pas.
Personnellement, je voudrais éviter de les créer, en premier lieu, bien que - je voudrais utiliser une ressource incorporée à la place. Ils sont assez faciles à travailler, et si vous avez une méthode utilitaire pour charger un nom de ressource incorporée à partir de la convocation de l'assemblée comme une chaîne de caractères (sans doute en supposant que l'encodage UTF-8), cela signifie que:
- Si votre document incorporé est quelque chose comme SQL, XSLT, HTML, etc vous aurez la coloration syntaxique, car il va vraiment être un SQL (etc) fichier
- Vous n'avez pas besoin de vous soucier de toute échapper
- Vous n'avez pas besoin de s'inquiéter au sujet du retrait de votre document ou votre code C# moche
- Vous pouvez utiliser le fichier dans une voie "normale" si c'est pertinent (par exemple, l'afficher comme une page HTML)
- Vos données sont séparés à partir de votre code
Eh bien, même s'il ne prend pas en charge HEREDOC, vous pouvez toujours faire des choses comme les suivantes en utilisant des chaînes Verbatim:
string miniTemplate = @"
Hello ""{0}"",
Your friend {1} sent you this message:
{2}
That's all!";
string populatedTemplate = String.Format(miniTemplate, "Fred", "Jack", "HelloWorld!");
System.Console.WriteLine(populatedTemplate);
Accroché à: http://blog.luckyus.net/2009/02/03/heredoc-in-c-sharp/
Non, il n'y a pas de "HEREDOC" style littéral de chaîne en C#.
C# a seulement deux types de littéraux de chaîne:
- Régulière littérale, avec de nombreuses séquences d'échappement nécessaire
-
Verbatim littérale,
@
-cité: doublequotes doivent être échappés par un doublement de
Références
- csharpindepth.com - des Articles Généraux Chaînes de caractères
-
MSDN - Programmeur C# Référence - Chaînes
Les littéraux de chaîne sont de type
string
, et peut être écrit sous deux formes, cité et@
-cité.