Partager via


Erreur du compilateur CS1009

Séquence d’échappement non reconnue

Un caractère inattendu suit une barre oblique inverse (\) dans une chaîne d’une séquence d’échappement ou un littéral de caractère. Le compilateur attend l’un des caractères d’échappement valides. Pour plus d’informations, consultez Caractères d’échappement.

L’exemple suivant génère l’erreur CS1009.

// CS1009-a.cs  
class MyClass  
{  
   static void Main()  
   {  
      // The following escape sequence causes CS1009:  
      string a = "\m";
      // Try the following line instead.  
      // string a = "\t";  

      // The following character literals causes CS1009:
      // CS1009; a lowercase \u-style Unicode escape sequence must have exactly 4 hex digits
      string unicodeEscapeSequence = '\u061';
      // CS1009; a hex escape sequence must start with lowercase \x
      string hexEscapeSequence = '\X061';
      // CS1009; an uppercase \U-style Unicode escape sequence must have exactly 8 hex digits
      string uppercaseUnicodeEscape = '\U0061';
   }  
}  

Une cause courante de cette erreur est l’utilisation de la barre oblique inverse dans un nom de fichier, comme dans l’exemple suivant.

string filename = "c:\myFolder\myFile.txt";  

Pour résoudre cette erreur, utilisez « \\ » ou le littéral de chaîne entre guillemets, comme le montre l’exemple suivant.

// CS1009-b.cs  
class MyClass  
{  
   static void Main()  
   {  
      // The following line causes CS1009.  
      string filename = "c:\myFolder\myFile.txt";
      // Try one of the following lines instead.  
      // string filename = "c:\\myFolder\\myFile.txt";  
      // string filename = @"c:\myFolder\myFile.txt";  
   }  
}  

Voir aussi