Recherche…


Syntaxe

  • @ "Les chaînes verbatim sont des chaînes dont le contenu n'est pas échappé. Dans ce cas, \ n ne représente pas le caractère de nouvelle ligne mais deux caractères individuels: \ et n. Les chaînes de caractères sont créées avec le caractère @"

  • @ "Pour échapper aux guillemets," "les guillemets doubles" "sont utilisés."

Remarques

Pour concaténer des littéraux de chaîne, utilisez le symbole @ au début de chaque chaîne.

var combinedString = @"\t means a tab" + @" and \n means a newline";

Cordes multilignes

var multiLine = @"This is a 

multiline paragraph";

Sortie:

C'est un

paragraphe multiligne

Démo en direct sur .NET Fiddle

Les chaînes multi-lignes contenant des guillemets doubles peuvent également être échappées comme sur une seule ligne, car elles sont textuelles.

var multilineWithDoubleQuotes = @"I went to a city named

                        ""San Diego""

                      during summer vacation.";

Démo en direct sur .NET Fiddle

Il convient de noter que les espaces / tabulations au début des lignes 2 et 3 sont effectivement présents dans la valeur de la variable; vérifier cette question pour des solutions possibles.

Échapper à des citations doubles

Les doubles guillemets dans les chaînes verbatim peuvent être échappés en utilisant 2 doubles guillemets séquentiels "" pour représenter un guillemet double " dans la chaîne résultante.

var str = @"""I don't think so,"" he said.";
Console.WriteLine(str);

Sortie:

"Je ne pense pas", a-t-il dit.

Démo en direct sur .NET Fiddle

Cordes Verbatim Interpolées

Les chaînes verbatim peuvent être combinées avec les nouvelles fonctions d' interpolation String trouvées dans C # 6.

Console.WriteLine($@"Testing \n 1 2 {5 - 2}
New line");

Sortie:

Test \ n 1 2 3
Nouvelle ligne

Démo en direct sur .NET Fiddle

Comme prévu dans une chaîne verbatim, les barres obliques inverses sont ignorées en tant que caractères d'échappement. Et comme prévu d'une chaîne interpolée, toute expression entre accolades est évaluée avant d'être insérée dans la chaîne à cette position.

Les chaînes verbatim indiquent au compilateur de ne pas utiliser les caractères d'échappement

Dans une chaîne normale, la barre oblique inverse est le caractère d'échappement qui indique au compilateur de rechercher le ou les caractères suivants pour déterminer le caractère réel de la chaîne. ( Liste complète des caractères échappés )

Dans les chaînes verbatim, il n'y a pas de caractère échappé (sauf pour "" qui est transformé en un " ). Pour utiliser une chaîne verbatim, ajoutez simplement un @ avant les guillemets de départ.

Cette chaîne verbatim

var filename = @"c:\temp\newfile.txt"

Sortie:

c: \ temp \ newfile.txt

Par opposition à l'utilisation d'une chaîne ordinaire (non verbatim):

var filename = "c:\temp\newfile.txt"

ça va sortir:

c:    emp
ewfile.txt

en utilisant un personnage en train de s'échapper. (Le \t est remplacé par un caractère de tabulation et le \n est remplacé par une nouvelle ligne.)

Démo en direct sur .NET Fiddle



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow