C# 如何在csv文件下一次打开时的下一行写入?

C# 如何在csv文件下一次打开时的下一行写入?,c#,winforms,csv,line,C#,Winforms,Csv,Line,在第一次运行时,我的程序在第一行写入csv文件, 但是,当我第二次运行程序时。。第三时间,它跑过了第一条线。。 我怎样才能纠正它 我想有一个CSV文件输入的所有输入到我的程序 代码如下: private void WriteToCsvFile() { var us = users.ElementAt(0); string names = "Number',"; string userAnswer = (us.userName + ","); foreach (st

在第一次运行时,我的程序在第一行写入csv文件, 但是,当我第二次运行程序时。。第三时间,它跑过了第一条线。。 我怎样才能纠正它

我想有一个CSV文件输入的所有输入到我的程序

代码如下:

private void WriteToCsvFile()
{
    var us = users.ElementAt(0);
    string names = "Number',";
    string userAnswer = (us.userName + ",");
    foreach (string ss in user)
    {
        string str = Path.GetFileName(ss);
        names = names + str + ",";
    }
    foreach (string ans in us.answer)
    {
        userAnswer = userAnswer + ans + ",";
    }

    using (StreamWriter sw = new StreamWriter("EntranceLog.csv"))
    {
        sw.WriteLine(names);
        sw.WriteLine(userAnswer);

    }

    this.Close();
}

在构造函数中添加
true
参数:

using (StreamWriter sw = new StreamWriter("EntranceLog.csv", true))
名为
append
的第二个参数控制是覆盖还是追加现有文件。国家:

true
将数据附加到文件中
false
覆盖文件。如果指定的文件不存在,则此参数无效,构造函数将创建一个新文件


每次运行它时,您正在创建一个同名的新文件,该文件将覆盖旧文件。这是您正在使用的特定构造函数的默认行为

您希望改为使用,并将
append
参数指定为
true

using (StreamWriter sw = new StreamWriter("EntranceLog.csv", true))
{
    // write your file as normal
}

谢谢大家的帮助!