-1

可能重复:
来自标签的 C# StreamReader 输入文件?

好的,我仍在开发 Roller Dice 程序,我需要该程序在每次游戏重新开始时显示以前的高分。但是,当我输入代码时。它给了我留下的错误。名称“文件”不存在并且找不到名称空间名称 StreamReader?请帮忙

private void button2_Click(object sender, EventArgs e)
{   
    try
    {
        int scores;
        int highscore = 0;
        StreamReader inputFile;

        inputFile = File.OpenText("HighScore.txt");

        while (!inputFile.EndOfStream)
        {
            scores = int.Parse(inputFile.ReadLine());

            highscore += scores;
        }

        inputFile.Close();

        highscoreLabel.Text = highscore.ToString("c");

    }   
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
4

1 回答 1

4

可能您还没有添加命名空间导入

using System.IO;

作为替代方案,您可以编写对 File 和 StreamReader 对象的完整限定引用

 System.IO.StreamReader inputFile;
 inputFile = System.IO.File.OpenText("HighScore.txt");

但是,当然,这不是很方便。

另外,请注意,如果由于某种原因您的代码在读取流时抛出异常,则该方法将退出而不关闭流。应该不惜一切代价避免这种情况。
using 语句可能会有所帮助。

int scores;
int highscore = 0;
using(StreamReader inputFile = File.OpenText("HighScore.txt"))
{
    try
    {
         while (!inputFile.EndOfStream)
         {
             scores = int.Parse(inputFile.ReadLine());
             highscore += scores;
         }
         highscoreLabel.Text = highscore.ToString("c");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
}   
于 2012-11-01T00:37:17.643 回答