我尝试了这段代码,但是在while条件下继续使用未分配的局部变量MAX_VALUE。(现在已修复),但是现在出现“无法写入封闭的TextWriter”。用于WriteLine输出文件。请帮忙
private void buttonCalculate_Click(object sender, EventArgs e)
{
double kmph;
double MAX_VALUE;
if (double.TryParse(textBoxSpeed.Text, out kmph) && (double.TryParse(textBoxHours.Text, out MAX_VALUE)))
outputFile = File.CreateText("Output.txt");
int count = 1;
while (count <= MAX_VALUE)
{
outputFile.WriteLine("After hour " + count + "the distance traveled is " + kmph * count + "Km.");
count = count + 1;
outputFile.Close();
MessageBox.Show("Outputs are saved to Output.txt file.");
}
}
private void buttonExit_Click(object sender, EventArgs e)
{
this.Close();
如果{
在if语句之后缺少您,那么使用未分配变量的代码将始终被执行并引发异常:
//I'm not sure if you want to continue writing or every time you enter the function rewrite the file...
//This is an example in case you want to continue writing
var filePath = "C:\\myPath";
if (!File.Exists(filePath))
{
//If file doesn't exist create one
File.CreateText(filePath);
}
var outputFile = File.AppendText(filePath); //open file to write
if (double.TryParse(textBoxSpeed.Text, out kmph) && (double.TryParse(textBoxHours.Text, out MAX_VALUE)))
{
outputFile = File.CreateText("Output.txt");
int count = 1;
while (count <= MAX_VALUE)
{
outputFile.WriteLine("After hour " + count + "the distance traveled is " + kmph * count + "Km.");
count = count + 1;
MessageBox.Show("Outputs are saved to Output.txt file.");
}
outputFile.Flush();
outputFile.Close();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句