• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# ファイル名を指定してオープン)

C#ファイル名を変数で指定してオープンする方法

このQ&Aのポイント
  • C#でファイル名を変数で指定してオープンする方法について説明します。
  • StreamWriterを使用してファイルを書き込む場合、ファイル名を直接指定するのではなく、変数で指定することができます。
  • 具体的には、string型の変数にファイル名を格納し、その変数をStreamWriterの引数に渡すことで、指定したファイルをオープンすることができます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

こんにちは >>今回のエラーはメソッドの内側に書くべきコードをメソッドの外側に書いたから。 >うーー。この意味がわからないのです。 わかりにくいですね。具体的には、 今ある StreamWriter swrite = new StreamWriter(fileName, false, System.Text.Encoding.GetEncoding("shift-jis")); を、 StreamWriter swrite; swrite = new StreamWriter(fileName, false, System.Text.Encoding.GetEncoding("shift-jis")); に分解し、代入文の部分を、public Form1() 内に移動してください。 多分、コンパイルエラーが消えるはずです。 はずしていたらごめんなさい。

usatan2
質問者

お礼

回答ありがとうございます。 ご教示のとおり、分割して、後半をコンストラクタ内に移動したら、コンパイルエラーが消えました!! プログラムも想定したとおりの動きになりました。 まとめると、  ひとつの文でファイル名を直接書けばOK、  ファイル名を変数に分離するとエラー、  さらに2文に分割して、代入部をコンストラクタに移動すれば再びOK になるわけですね。 でも、なぜ、2番目の方法がエラーになるのか今ひとつ、釈然としません。 どなたかご存知の方いらっしゃいますでしょうか?

その他の回答 (3)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.3

エラー一覧でF1キーを押すとヘルプが表示されます。 コンパイラ エラー CS0236 http://msdn.microsoft.com/ja-jp/library/5724t6za(v=vs.90).aspx 今回のエラーはメソッドの内側に書くべきコードをメソッドの外側に書いたから。

usatan2
質問者

お礼

回答ありがとうございます。 教えていただいたページは、ヘルプで見たページです。 再度このヘルプを見たのですが、どこをどのように修正したらよいのか、悲しいかな、やはりわかりません。 >今回のエラーはメソッドの内側に書くべきコードをメソッドの外側に書いたから。 うーー。この意味がわからないのです。 具体的に、どこをどのように修正したらよいのでしょうか。 よろしくお願いいたします。

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

文字コードの指定は何にしていますか。 下記ではどうでしょう。 string fileName = @"C:\19yamana.csv"; > にしたいのですがうまく出来ません どのようにうまくいかないのですか? エラーメッセージは? あとは一行ずつトレースして確認してみてください.

usatan2
質問者

お礼

回答ありがとうございます。 文字コードはシフトJISですが、ファイル名はアルファベットと数字だけなので、関係ない気がします。 string fileName = @"C:\19yamana.csv"; に変更しても同じエラー フィールド初期化子は、静的でないフィールド、メソッド、またはプロパティ"xxx.Form1.fileName"を参照できません になります。 >あとは一行ずつトレースして確認してみてください. コンパイルできませんので、トレースはできません。 エラーメッセージを読んでも、ヘルプしても、どこをどのように修正したらよいのかわかりません。

回答No.1

変数化の仕方は基本的に間違えていないと思います。 実際のソースのどこかに記述ミスとかないでしょうか?

usatan2
質問者

お礼

早速の回答ありがとうございます。 実際のソースからのコピペです。 フィールド初期化子は、静的でないフィールド、メソッド、またはプロパティ"xxx.Form1.fileName"を参照できません といったエラーが出ます。が意味不明で、何を修正したらよいのか分かりません。 よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう