Считать данные из файла и добавить в коллекцию

Есть следующий стек:

Stack<Dokument> dokument;

Dokument имеет следующие поля:

string name;   // название документа
DateTime data; // дата подписания
string fio;    // ФИО подписавшего

Так же есть метод, который записывает коллекцию в файл в в таком виде:

Акт
12.11.2021 0:00:00
Иванов К. Д.
Распоряжение
12.09.2019 0:00:00
Юров Н. Г.
Расписка
12.08.2020 0:00:00
Юров Н. Г.
Жалоба
02.10.2022 0:00:00
Игитов С. К.
Заявление
12.11.2020 0:00:00
Петров И. Ю.

Как реализовать считывание данных из этого файла и добавление их в DataGrid?


Ответы (1 шт):

Автор решения: iKuzmychov

Для постепенного считывания текстовых данных в C# существует класс StreamReader. Вам достаточно просто в цикле считывать 3 строчки в поля объекта типа Dokument и добавлять их в стек:

using (var reader = new StreamReader(filepath))
{
    while(!reader.EndOfStream)
    {
        var dokument = new Dockument();
        dokument.name = reader.ReadLine();
        dokument.data = DateTime.Parse(reader.ReadLine());
        dokument.fio  = reader.ReadLine();
 
        dokuments.Push(dokument);
    }
}

Затем (или во время считывания) просто пройдитесь в цикле по стеку и заполните строками ваш DataGrid.

→ Ссылка