2012-06-02 57 views
0

我無法解決此錯誤!在第二行中,我在VisualStudio 2010下面的outfile中得到一個紅色下劃線。我完全按照書中的內容編寫了代碼。創建StreamWriter對象時出錯

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"); 

回答

1

的代碼我懷疑的是,在本書中,這些都是當地變量,方法內聲明的 - 而你在一個類直接聲明爲實例變量。

真的希望這些是實例變量嗎?兩個都?在可能的情況下,我會嘗試只在一個方法內完成此操作,因此您可以保留該方法的所有本地清理。

可以這樣寫:

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

雖然你有更好:

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

然後:

我也有一個關於保存文本文件的問題如果可以保存或替換文件中選定行的文本字符串?

我們需要更多的細節來回答這個問題,它確實是一個單獨的問題,應該單獨提出。

+0

我有點困惑,應該使用你的代碼行還是隻使用最後一行? –

+0

@ 3D-kreativ:你會如何使用這兩行代碼?這將聲明兩次相同的變量。 –

+0

對不起,但是當我使用第二行時,我只是得到一個空文件? –