好吧我还在制作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);
}
}
答案 0 :(得分:4)
您可能尚未添加名称空间导入
using System.IO;
作为替代方案,您可以编写对File和StreamReader对象的完全限定引用
System.IO.StreamReader inputFile;
inputFile = System.IO.File.OpenText("HighScore.txt");
但是,当然,这不太方便。
另外,请注意,如果由于某种原因您的代码在读取流时抛出异常,则该方法退出而不关闭流。应该不惜一切代价避免这种情况 The using statement可能有所帮助。
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);
}
}