Les guillemets doubles peuvent être échappés comme ceci:
string test = @"He said to me, ""Hello World"". How are you?";
Mais cela implique l'ajout de caractère "
à la chaîne. Existe-t-il une fonction C # ou une autre méthode pour échapper les guillemets doubles afin qu'aucune modification de chaîne ne soit requise?
c#
string
double-quotes
Mudassir Hasan
la source
la source
Réponses:
Non.
Utilisez les littéraux de chaîne textuels comme vous l'avez fait ou échappez à la
"
barre oblique inverse.La chaîne n'a pas changé dans les deux cas - il y a un seul échappé
"
dedans. C'est juste un moyen de dire à C # que le caractère fait partie de la chaîne et non un terminateur de chaîne.la source
Vous pouvez utiliser la barre oblique inverse dans les deux cas;
Il imprime;
qui est exactement la même impression avec;
Voici une
DEMO
."
fait toujours partie de votre chaîne.Vérifiez
Escape Sequences
etString literals
de MSDN.la source
En C #, vous pouvez utiliser la barre oblique inverse pour mettre des caractères spéciaux dans votre chaîne. Par exemple, pour mettre ", vous devez écrire \". Il y a beaucoup de caractères que vous écrivez en utilisant la barre oblique inverse: Barre oblique inverse avec un nombre:
Barre oblique inverse avec un autre caractère
la source
Vous ne comprenez pas vous échapper.
Les
"
caractères supplémentaires font partie du littéral de chaîne; ils sont interprétés par le compilateur comme un seul"
.La valeur réelle de votre chaîne est toujours
He said to me , "Hello World".How are you ?
, comme vous le verrez si vous l'imprimez au moment de l'exécution.la source
Veuillez expliquer votre problème. Vous dites:
De quel problème s'agit-il? Vous ne pouvez pas taper
string foo = "Foo"bar"";
, car cela provoquera une erreur de compilation. Quant à la partie d' ajout , en termes de taille de chaîne, ce n'est pas vrai:la source