Помогите сделать метод сохранения(Save) С#

Загрузку данных с файла реализовал(представлено в методе Load), а вывести не получается, или выводится пустой файл Класс хранения записей:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Homework_07
{
struct Repository1
{
        private Note[] Notes;

        private string path;

        int index;
        string[] titles;

        public Repository1(string Path)
        {
            this.path = Path;
            this.index = 0;
            this.titles = new string[5];
            this.Notes = new Note[2];
        }
        
        private void Resize(bool Flag)
        {
            if (Flag)
            {
                Array.Resize(ref this.Notes, this.Notes.Length * 2);
            }
        }

        public void Add(Note ConcreteNote)
        {
            this.Resize(index >= this.Notes.Length);
            this.Notes[index] = ConcreteNote;
            this.index++;
        }
        
        /// <summary>
        /// загрузка данных из файла
        /// </summary>
        public void Load()
        {
            using (StreamReader sr = new StreamReader(this.path))
            {
               titles = sr.ReadLine().Split(',');


                while (!sr.EndOfStream)
                {
                    string[] args = sr.ReadLine().Split(',');

                    Add(new Note(args[0], args[1], DateTime.Parse(args[2]), args[3], args[4]));
                }
            }
        }
        
        /// <summary>
        /// Вывод данных в консоль
        /// </summary>
        public void PrintDbToConsole()
        {
            Console.WriteLine($"{this.titles[0],1} {this.titles[1],5} {this.titles[4],7} {this.titles[2],24} {this.titles[3],8}");

            for (int i = 0; i < index; i++)
            {
                Console.WriteLine(this.Notes[i].Print());
            }

        }

        /// <summary>
        /// Количество записей
        /// </summary>
        public int Count { get { return this.index; } }


    }
}

Класс создания записей:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Homework_07
{
   struct Note
   {
    /// <summary>
    /// дата написания заметки
    /// </summary>
    public DateTime data;

    /// <summary>
    /// имя человека который написал заметку
    /// </summary>
    public string name;

    /// <summary>
    /// тема заметки
    /// </summary>
    public string theme;

    /// <summary>
    /// заметка
    /// </summary>
    public string text;

    /// <summary>
    /// порядковый номер заметки
    /// </summary>
    public string number;
 

    /// <summary>
    /// создание заметки
    /// </summary>
    /// <param name="number"></param>
    /// <param name="name"></param>
    /// <param name="theme"></param>
    /// <param name="text"></param>
    /// <param name="data"></param>
    public Note(string number, string name, DateTime data, string theme, string text)
    {
        this.number = number;
        this.name = name;
        this.theme = theme;
        this.text = text;
        this.data = data;
    }

    public string Print()
    {
        return $"№ {this.number,1} Имя: {this.name,1} Дата: {this.data,1} Тема: {this.theme,1} 
        Текст: {this.text,1}";
    }
 }
}

Заранее спасибо)


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

Автор решения: Александр Писковой

Упорядочивать записи можете с помощью linq запросов. К примеру если нужно сделать сортировку по времени то можно использовать следующий код:

public List<Note> SortByDate(List<Note> Notes) => from Note in Notes
                                                  orderby Note.data
                                                  select Note;

Такой подход в принципе подходит для сортировки по указаному диапазону дат, который нужно будет передавать в функцию. Подробнее написано в отмеченой ранее статье. Хранение записей можно реализовать в JSON файле, подробнее здесь.

Просто учитывайте тот факт что данный сайт предназначен не для выполнения роботы за вас а для помощи вам. Если нужна будет какая-то информация её можете найти на том же сайте что и в ссылках, или же спросить в коментариях. Всего хорошего

→ Ссылка