纳入文本文件

问题描述 投票:-2回答:1

我试着把4个随机数与4位数生成一个文本文件,但我只能输入到它的引号里的文字。另外你还需要输入一个地址到文本框中,但这并不重要。我怎么能把几个ints输入到那个文件里呢?下面是我试着做的。

private void btnGenerate_Click(object sender, EventArgs e)
{
    int i;
    i = textboxMAIL.Text.Length;
    if (i < 1)
    {
        MessageBox.Show("No address!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    else
    {
        MessageBox.Show("Successfully saved into psc.txt.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
        Random r;
        r = new Random();
        int generate;
        generate = r.Next(9999); 

        Random r2;
        r2 = new Random();
        int generate2;
        generate2 = r2.Next(9999); 

        Random r3;
        r3 = new Random();
        int generate3;
        generate3 = r3.Next(9999); 

        Random r4;
        r4 = new Random();
        int generate4;
        generate4 = r4.Next(9999); 

        if (!File.Exists("c://desktop//psc.txt")) // If file does not exists
        {
            File.Create("c://desktop//psc.txt").Close(); // Create file
            using (StreamWriter sw = File.AppendText("c://desktop//psc.txt"))
            {
                sw.WriteLine(generate, generate2, generate3, generate4); // Write text to .txt file
            }
        }
        else // If file already exists
        {
            File.WriteAllText("c://desktop//psc.txt", String.Empty); // Clear file
            using (StreamWriter sw = File.AppendText("c://desktop//psc.txt"))
            {
                sw.WriteLine(generate, generate2, generate3, generate4); // Write text to .txt file
            }
        }
    }
}
c# winforms int
1个回答
0
投票

检验 的文件 StreamWriter.WriteLine. 你把它传给4号 int 值,但该方法没有任何一个版本期望这样做。 该方法的第一个参数是 绳子 来写。

如果你想把每个值都写在它自己的行上,把每个值转换成一个字符串,然后传给这个方法。

sw.WriteLine(generate.ToString());
sw.WriteLine(generate2.ToString());
sw.WriteLine(generate3.ToString());
sw.WriteLine(generate4.ToString());

如果你想把所有的值连成一行,第一个参数是带有格式占位符的字符串,其余的参数是占位符的值。

sw.WriteLine("{0}{1}{2}{3}", generate, generate2, generate3, generate4);

或者用更现代的语法,如果你使用的是最新的C#版本。

sw.WriteLine($"{generate}{generate2}{generate3}{generate4}");

值得注意的是,你的随机数生成功能被破坏了。 你的代码很可能每次都会产生4个相同的随机数。 请参考 这个问题 以获取更多信息。 总之,您应该使用 一个 的实例 Random 并用它来生成所有你需要的数字。

© www.soinside.com 2019 - 2024. All rights reserved.