尝试将列表打印到 .txt 中只获取第一行内容

Trying to print List into .txt only getting first line of contents

我是 C# 的新手,所以请不要对我评价太多:/ 所以我想将列表(爵士乐、金属、流行、民谣)的内容添加到 .txt 文件中。当我执行 运行 程序时,它 运行 成功并生成了文件。但是该文件中只有 jazz 这个词。当然,我希望所有 4 个列表都能正常工作,但我现在只尝试使用爵士乐。

    static void Main(string[] args)
    {
        List<Vocalist> jazz = new List<Vocalist>();
        List<Vocalist> metal = new List<Vocalist>();
        List<Vocalist> pop = new List<Vocalist>();
        List<Vocalist> folk = new List<Vocalist>();
        
       
                string recGenre;
                Console.WriteLine("Which type of genre records you want to extract");
                recGenre = Console.ReadLine();
                if (recGenre == "jazz")
                foreach (Vocalist i in jazz) 
                {   
                    //FileStream Vocal = new FileStream("C:/Users/NikolaosParadeisanos/Desktop/jazz.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
                    File.WriteAllText("C:/Users/NikolaosParadeisanos/Desktop/jazz.txt", Convert.ToString(i.name));
                    File.WriteAllText("C:/Users/NikolaosParadeisanos/Desktop/jazz.txt", Convert.ToString(i.origin));
                    File.WriteAllText("C:/Users/NikolaosParadeisanos/Desktop/jazz.txt", Convert.ToString(i.vocalistType));
                    File.WriteAllText("C:/Users/NikolaosParadeisanos/Desktop/jazz.txt", Convert.ToString(i.genre));
                }
                
                    //
            }
            

正如方法描述中所指出的那样如果目标文件已经存在,则将其覆盖。这意味着每次您在指定文件中写入时,它都会被最后的内容覆盖(当您最后添加类型时,它是文件中唯一剩下的内容。请尝试 File.AppendAllLines

File.AppendAllLines(@"C:/Users/NikolaosParadeisanos/Desktop/jazz.txt", new[] { Convert.ToString(i.name), Convert.ToString(i.origin), Convert.ToString(i.vocalistType), Convert.ToString(i.genre) });