1254 votes

Littéral de chaîne multiligne en c#

Y a-t-il un moyen facile de créer une chaîne multiligne littéral en c# ?

Voici ce que j’ai maintenant :

Je sais que PHP a

C# a-t-il quelque chose de similaire ?

1892voto

John Rasch Points 28874

Vous pouvez utiliser le symbole devant un pour former un littéral de chaîne textuel:

Vous aussi n’avez pas à échapper les caractères spéciaux lorsque vous utilisez cette méthode, à l’exception des guillemets doubles, comme indiqué dans la réponse de Jon Skeet.

640voto

Jon Skeet Points 692016

Ça s’appelle un littéral de chaîne textuel en langage c#, et c’est juste une question de mettre avant le littéral. Non seulement cela permet-il de plusieurs lignes, mais il désactive également s’échapper. Ainsi, par exemple, vous pouvez faire :

Le seul bit d’échapper, c’est que si vous voulez un guillemet double, vous devez doubler :

127voto

dav_i Points 6206

Le problème avec l'aide de la chaîne littérale, je trouve, c'est qu'il peut rendre votre code à l'air un peu "bizarre", car afin de ne pas avoir des espaces dans la chaîne elle-même, il doit être complètement aligné à gauche:

    var someString = @"The
quick
brown
fox...";

Beurk.

Donc la solution, je tiens à utiliser, qui permet de tout bien aligné avec le reste de votre code est:

var someString = String.Join(
    Environment.NewLine,
    "The",
    "quick",
    "brown",
    "fox...");

et bien sûr, si vous voulez juste logiquement divisé en place des lignes de SQL comme vous êtes et n'en a pas vraiment besoin d'une nouvelle ligne, vous pouvez toujours remplacer Environment.NewLine pour " ".

105voto

Martin Clarke Points 3370

Un autre gotcha à surveiller est l’utilisation de littéraux de chaîne en chaîne. Format. Dans ce cas vous devez échapper à bretelles/accolades ' {' et '}'.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X