在 C# 的文本文件中发送数组的内容

Send the content of an Array in a text file in C#

我正在用 C# 创建一个小程序,允许您将数字数组的内容发送到文本文件。但是当我打开文本文件时,它只显示数组的最后一个元素 (10)。我怎样才能确保他发送了文本文件中的所有数字,而不仅仅是最后一个数字。

int[] Numbers = { 1, 2, 4, 5, 6, 7, 8, 9, 10 };
        string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
        foreach (var x in Numbers)
        {
            File.WriteAllText(path + @"\" + "numbers.txt", x .ToString () + "\r\n";
        }

您可以使用 string.Join 并删除 foreach:

 File.WriteAllText(path + @"\numbers.txt", string.Join(Environment.NewLine, Numbers));

或者您可以使用 foreach 循环,但改为 AppendAllText 而不是 WriteAllText:

foreach (var x in Numbers)
{
    File.AppendAllText(path + @"\numbers.txt", x.ToString() + "\r\n");
}

WriteAllText 将替换文件中的所有文本,而 AppendAllText 将附加到文件中。在您的示例中,WriteAllText 正在覆盖先前的值,因此您最终只会得到文件中的最后一个值。