コンパイラ エラー CS1009

更新 : 2007 年 11 月

エラー メッセージ

認識できないエスケープ シーケンスです。

文字列で、円記号 (\) の後ろに予測不可能な文字がありました。コンパイラは、有効なエスケープ文字を予期しています。詳細については、「文字のエスケープ」を参照してください。

次の例では CS1009 エラーが生成されます。

// CS1009-a.cs
class MyClass
{
   static void Main()
   {
      string a = "\m";   // CS1009
      // try the following line instead
      // string a = "\t";
   }
}

このエラーに共通するのは、たとえば、次のように円記号 (\) をファイル名に使用していることです。

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

このエラーを解決するには、次のコード例のように "\\" を使用するか、@ と二重引用符で囲まれたリテラル文字列を使用してください。

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