private void btn_Save_Click(object sender, EventArgs e)
{
// Declare int variable.
int randomNumber = 0;
// Declare a StreamWriter variable.
StreamWriter outputFile;
// Get the number of random integers to hold in file.
int number = int.Parse(txt_Number.Text);
if (saveFile.ShowDialog() == DialogResult.OK)
{
// Create the selected file.
outputFile = File.CreateText(saveFile.FileName);
// Create a Random Object.
Random Rand = new Random();
for (int count = 0; count < number; count++)
{
// Get random integers and assign them to randomNumber.
randomNumber = Rand.Next(1, 101);
// Write data to the file.
outputFile.WriteLine(randomNumber);
// Close the file.
outputFile.Close();
MessageBox.Show("File saved in path:" + saveFile.FileName);
}
}
else
{
// Display an error message.
MessageBox.Show("Operation Cancelled");
}
}
private void btn_Clear_Click(object sender, EventArgs e)
{
// Clear the TextBox.
txt_Number.Text = "";
}
private void btn_Exit_Click(object sender, EventArgs e)
{
// Close the form.
this.Close();
}
}
質問です:ファイルへの一連の乱数を書き込むプログラムを作成します。各乱数は1〜100の範囲内にある必要があります。アプリケーションでは、ファイルが保持する乱数の数を指定できます。のVisual C#乱数ファイルライタ
コードが働いているが、私は」出力WriteLineメソッドで問題が発生しました。私はプログラムを実行している たびに、それは例外が未処理と言うとクローズしたTextWriterに書き込むことはできません。 また、複数の乱数を保存する代わりに、1つだけを保存しています。 これらの2つの問題に関する助けがあれば素晴らしいでしょう。
エラーのどの部分を理解していませんか?あなたのコードはファイルを閉じた後にファイルに書き込もうとします。 – SLaks
ファイルに書き込むループの前にブレークポイントを設定します。プログラムを実行し、F10キーを使用して行単位でコードをステップ実行します。細心の注意を払う - 非常に近い、注意を集中させる - あなたのコードが行うすべてのことに注意を払う。あなたは啓発されるでしょう。私は宇宙の意識を約束することはできませんが、あなたのコードは少なくとも動作するでしょう。 –
@EdPlunkett:ねえ、私はあまりにも、他の問題に、このアプローチを使用しています。これは問題を解決するための一般的なアプローチだと思いますか? –