Отправить содержимое массива в текстовом файле в C # - PullRequest
0 голосов
/ 03 марта 2019

Я создаю небольшую программу на 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";
        }

1 Ответ

0 голосов
/ 03 марта 2019

Вы можете использовать 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 перезаписывает предыдущие значения, поэтому в результате вы получите только последнее значение в файле.

...