【问题标题】:Trying to print List into .txt only getting first line of contents尝试将 List 打印到 .txt 仅获取第一行内容
【发布时间】:2021-03-13 21:39:22
【问题描述】:

我对 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));
                }
                
                    //
            }
            

【问题讨论】:

    标签: c# c#-4.0


    【解决方案1】:

    如方法描述中指出的那样如果目标文件已经存在,则将其覆盖。这意味着每次您在指定文件中写入时,它都会被最后一个内容覆盖(当您最后添加流派时,它是文件中唯一剩下的内容。请改用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) });
    

    【讨论】:

    • 那我该如何解决。
    • 它有效。非常感谢兄弟的帮助。干杯!
    • @MapleSapling 试试上面的例子,它应该可以正常工作。您还确定要使用 Convert.ToString 而不是 .ToString() 吗?你期待任何null 值吗?
    • @dimitar.d 检查这个stackoverflow.com/help/someone-answers :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    相关资源
    最近更新 更多