• 締切済み

【C#】パス名で無効な文字

いつも教えて!gooにお世話になってます。 C#に関して質問です。 VisualC#2008を使用しています。 csvファイルを読み込むプログラムを作成しているところですが、つまづいています。 ボタンを押すとcsvファイルが読み込めるようにしたいのですが、 「パス名に無効な文字が含まれています」と表示され、強制終了してしまいます。 以下のようにパス名を指定しているのですが、何か無効な文字が含まれているのでしょうか? お手数ですが誰かご回答よろしくお願いします。 StreamReader sr = new StreamReader("C:\\Documents and Settings\admin\\My Documents\\Visual Studio 2008\algorithm\algorithm\algorithm\readfile\\shortfile.csv",Encoding.Default);

みんなの回答

回答No.2

パスを書く場合は,逐語的リテラル文字列を使うと便利です。 var sr = new StreamReader(@"C:\Documents and Settings\admin\My Documents\Visual Studio 2008\algorithm\algorithm\algorithm\readfile\shortfile.csv", false, Encoding.Default); 標準リテラル文字列を使うと,ANo.1さんが指摘されている通り,\がエスケープ文字列の始まりと見なされてしまう為です。

kiyo061
質問者

お礼

\が1つのところを\\にすることで実行できました♪ ご指導ありがとうございました!!

  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.1

"\"が一つの所と二つの所がありますね。 二つにしてみてください。

kiyo061
質問者

お礼

実行できました!! アドバイスありがとうございました!