我试图将一系列数字(取决于用户指定的内容)写入文件,但是我的代码结果是每次循环执行时都打印相同的数字。这是我的代码:
private void saveButton_Click(object sender, EventArgs e)
{
// Get number for amount of random numbers to write
int number = int.Parse(numberTextBox.Text);
// Create a new saveFileDialog objects
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "Choose where to save the file";
saveFileDialog.Filter = "Text File | *.txt";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
StreamWriter writer = new StreamWriter(saveFileDialog.OpenFile());
int randNum;
Random random;
// Create a for loop to write to file
for (int i = 0; i < number; i++)
{
random = new Random();
randNum = random.Next(1, 101);
writer.WriteLine(randNum);
}
writer.Dispose();
}
}
``
此代码块对我有用:
根据您的需要进行编辑。如果需要进一步阐述。请参阅@Mike Perrenoud的阐述here。
Random random = new Random();
Console.WriteLine("Please enter the name of the numbers file");
string fileLotto = Console.ReadLine();
//creating the lotto file
FileStream fs = new FileStream("../../" + fileLotto + ".txt", FileMode.OpenOrCreate, FileAccess.Write);
BufferedStream bs = new BufferedStream(fs);
Console.WriteLine("File created");
fs.Close();
StreamWriter sw = new StreamWriter("../.." + fileLotto + ".txt");
for(int i = 0; i < 6; i++)
{
for(int j = 0; j < 7; j++)
{
//Console.Write(random.Next(1, 49));
sw.Write(random.Next(1, 49) + " " );
}
sw.WriteLine();
}
sw.Close();