C# 为什么以下数组没有写入文件?

C# 为什么以下数组没有写入文件?,c#,C#,我不明白为什么输出文件不包含任何文本? 为什么数组没有写入文件?运行时我没有收到任何错误 Console.Write("Please enter a name for the homework: "); hmwk[1].name = Console.ReadLine(); Console.Write("Please enter the subject: "); hmwk[1].type = Console.ReadLine(); redo: Consol

我不明白为什么输出文件不包含任何文本? 为什么数组没有写入文件?运行时我没有收到任何错误

    Console.Write("Please enter a name for the homework: ");
    hmwk[1].name = Console.ReadLine();
    Console.Write("Please enter the subject: ");
    hmwk[1].type = Console.ReadLine();

redo:
    Console.Write("Please enter the date the homework was set xx/xx/xx: ");
    string toconvert = Console.ReadLine();
    DateTime temp;
    if (DateTime.TryParse(toconvert, out temp)== false)
    {
        goto redo;
    }

    DateTime converted = DateTime.Parse(toconvert);
    hmwk[1].dateset = converted;

redo2:
    Console.Write("Please enter the date the homework deadline is: ");
    toconvert = Console.ReadLine();
    if (DateTime.TryParse(toconvert, out temp) == false)
    {
        goto redo2;
    }
    converted = DateTime.Parse(toconvert);
    hmwk[1].deadline = converted;
    StreamWriter outfile = new StreamWriter("homework.txt", false);
    outfile.WriteLine(hmwk[1].name);
    outfile.WriteLine(hmwk[1].type);
    outfile.WriteLine(hmwk[1].dateset);
    outfile.WriteLine(hmwk[1].deadline);

    Console.WriteLine("You have added the homework. Press Enter.");

可能是因为它不是。您应该
Dispose()
StreamWriter,这样它会自动将缓冲数据刷新到文件中。使用
处置示例:

using (StreamWriter outfile = new StreamWriter("homework.txt", false)) 
{
    outfile.WriteLine(hmwk[1].name);
    outfile.WriteLine(hmwk[1].type);
    outfile.WriteLine(hmwk[1].dateset);
    outfile.WriteLine(hmwk[1].deadline);
}

可能是因为它不是。您应该
Dispose()
StreamWriter,这样它会自动将缓冲数据刷新到文件中。使用
处置示例:

using (StreamWriter outfile = new StreamWriter("homework.txt", false)) 
{
    outfile.WriteLine(hmwk[1].name);
    outfile.WriteLine(hmwk[1].type);
    outfile.WriteLine(hmwk[1].dateset);
    outfile.WriteLine(hmwk[1].deadline);
}

链接显示写入文件的正确方式,并链接到MSDN的更多信息。正如Ksv3n指出的,您缺少使用
。请也检查一下,因为使用
goto
通常是不受欢迎的。谢谢,我会检查那个链接,我听说这是“坏习惯”,但我不知道为什么。Linked显示了写入文件的正确方式,并链接到MSDN的更多信息。正如Ksv3n指出的,您缺少使用
。请也检查一下,因为使用
goto
通常是不受欢迎的。谢谢,我会检查那个链接,我听说这是“坏习惯”,但我不知道为什么。正是我想要的,谢谢。正是我想要的,谢谢。