Littéraux de chaîne en C# avec barres obliques inverses : résolution des erreurs de séquence d'échappement non reconnues
Des erreurs de séquence d'échappement non reconnues peuvent se produire lors du traitement de chaînes en C# qui contiennent des barres obliques inverses. Explorons comment résoudre ce problème.
Le code ci-dessous tente de définir une chaîne avec plusieurs barres obliques inverses, représentant un chemin de fichier :
string foo = "D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
Cependant, ce code déclenche une erreur du compilateur car les barres obliques inverses ont une signification particulière dans les littéraux de chaîne C#. Plus précisément, ils sont utilisés pour désigner les séquences d'échappement des caractères spéciaux. Par conséquent, chaque barre oblique inverse doit être précédée d'une autre barre oblique inverse.
Pour échapper aux barres obliques inverses, il existe deux options :
1. Doubles barres obliques inverses
La méthode la plus simple consiste à utiliser deux barres obliques inverses pour chaque barre oblique inverse de la chaîne. Par exemple :
string foo = "D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
Cela garantit que le compilateur interprète correctement les barres obliques inverses dans le cadre du chemin du fichier, et non comme des séquences d'échappement.
2. Utilisation du littéral de chaîne verbatim (@)"
Une approche alternative consiste à utiliser le littéral de chaîne verbatim, désigné par le symbole @ avant la chaîne. Cette méthode vous permet d'incorporer des caractères spéciaux, y compris des barres obliques inverses, sans avoir besoin de s'échapper. Par exemple :
string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
Les deux méthodes résolvent efficacement l'erreur de séquence d'échappement non reconnue et vous permettent de définir chaînes avec des barres obliques inverses qui représentent les chemins de fichiers ou d'autres caractères spéciaux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!