【问题标题】:What is wrong with my writing data to a csv file in c#?我在 c# 中将数据写入 csv 文件有什么问题?
【发布时间】:2021-11-20 05:44:32
【问题描述】:

我正在尝试将我在 Unity 中构建的游戏中的高分写入 CSV 文件。到目前为止,我已经做到了这一点:

    {
        string filepath = Application.dataPath;
        string newFileName = (Application.dataPath + "highscore.csv");
        StreamWriter writer = new StreamWriter(newFileName);
        writer.WriteLine("Score,Time");
        for (int i = 0; i < 5; i++)
        {
            writer.WriteLine(scoresAndSeconds[i, 0].ToString() + "," + scoresAndSeconds[i, 1].ToString());
        } 
    }

当我调用该函数时,我成功地创建了 CSV 文件,但根本没有写入任何内容。代码没有抛出任何错误。

【问题讨论】:

  • 能否在循环语句上设置断点,看看值是多少?
  • 到目前为止我还没有考虑过循环,因为 writer.Writeline("Score, Time") 没有写任何东西。
  • 您可能没有刷新流,并且错误地使用了流using StreamWriter writer = new StreamWriter(newFileName);
  • 现在工作正常 - 在这里回答问题后,正确的礼仪是什么?
  • @shadowgamer99 如果您的问题解决了,标记为正确

标签: c# export-to-csv


【解决方案1】:

您只需要刷新流。为此,只需使用using 语句

using StreamWriter writer = new StreamWriter(newFileName);
writer.WriteLine("Score,Time");
for (int i = 0; i < 5; i++)
{
    writer.WriteLine(scoresAndSeconds[i, 0].ToString() + "," + scoresAndSeconds[i, 1].ToString());
} 

请注意,您可能希望查看 CSV 库以获得更广泛的 CSV 支持

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-16
    • 2013-12-14
    • 2019-09-02
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    相关资源
    最近更新 更多