0

このエラーを解決できません! VisualStudio 2010 で、2 行目の出力ファイルの下に赤い下線が表示されます。私は自分の本に書かれているとおりにコードを書きました。

FileStream outFile = new FileStream("movies.txt", FileMode.Create, FileAccess.Write);
StreamWriter writer = new StreamWriter(outFile);

エラー メッセージ: フィールド初期化子は非静的フィールド、メソッド、またはプロパティ 'MyMovies.FileManager.outFile' を参照できません

ファイル内の選択した行でテキストの文字列を保存または置換できる場合、テキストファイルの保存についても質問がありますか?

編集:保存に使用するコード

 StreamWriter writer = File.CreateText("MinaFilmer/filmer.txt");
 writer.WriteLine("Test");
4

1 に答える 1

1

本では、これらはメソッド内で宣言されたローカル変数であると思われますが、インスタンス変数としてクラスで直接宣言しています。

本当にこれらをインスタンス変数にしたいですか? 両方とも?可能であれば、メソッド内でのみこれを実行しようとします。これにより、すべてのクリーンアップをメソッドのローカルに保つことができます。

あなたはこれを書くことができます:

StreamWriter writer = new StreamWriter(new FileStream("movies.txt", 
                                          FileMode.Create, FileAccess.Write));

あなたはより良いでしょうが:

StreamWriter writer = File.CreateText("movies.txt");

それで:

ファイル内の選択した行でテキストの文字列を保存または置換できる場合、テキストファイルの保存についても質問がありますか?

それに答えるにはもっと詳細が必要ですが、それは実際には別の質問であり、個別に尋ねるべきです.

于 2012-06-02T07:05:38.680 に答える