Простой способ записи данных - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Ребят тут я задумался немного о том как лучше всего хранить историю записей. INI DATABASE или еще какие варианты есть. Я стремлюсь к тому чтобы был всего один EXE файл. Вот какой способ посоветуете для записи данных.

Решение задачи: «Простой способ записи данных»

textual
Листинг программы
using System;
using System.Diagnostics;
using System.IO;
using RecentFilesExample.Data;
using RecentFilesExample.Model;
 
namespace RecentFilesExample
{
    internal class Program
    {
        private void Run(string[] args)
        {
            string dataFolder = Path.Combine(
                Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "RecentFilesExample");
 
            FileDescription[] descriptions =
            {
                new FileDescription {FilePath = Path.Combine(dataFolder, "File1.txt")},
                new FileDescription {FilePath = Path.Combine(dataFolder, "File2.txt")},
                new FileDescription {FilePath = Path.Combine(dataFolder, "File3.txt")}
            };
 
            try
            {
                if (!Directory.Exists(dataFolder))
                {
                    Directory.CreateDirectory(dataFolder);
                }
 
                string recentFilesFileName = Path.Combine(dataFolder, "recentFiles.xml");
 
                DataSerializer.SaveObject(descriptions, recentFilesFileName);
                Console.WriteLine("Данные сохранены.");
                Process.Start(dataFolder);
 
                FileDescription[] fromFile = DataSerializer.LoadObject<FileDescription[]>(recentFilesFileName);
                Console.WriteLine("Данные прочитаны из файла.");
 
                Write(fromFile);
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
 
            Console.WriteLine("Нажмите любую клавишу, чтобы завершить работу...");
            Console.ReadKey();
 
            try
            {
                if (Directory.Exists(dataFolder))
                {
                    Directory.Delete(dataFolder, true);
                }
            }
            catch (Exception ex)
            {
                HandleException(ex, "Не удалось удалить папку: " + dataFolder);
                Console.ReadKey();
            }
        }
 
        private void HandleException(Exception ex, string message = null)
        {
            if (message != null)
            {
                Console.WriteLine(message);
            }
            Console.WriteLine(ex.Message);
        }
 
        private void Write(FileDescription[] descriptions)
        {
            Console.WriteLine("Recent files:");
            foreach (FileDescription description in descriptions)
            {
                Console.WriteLine(description.FilePath);
            }
        }
 
        #region Entry point
 
        private static Program _program;
 
        private static void Main(string[] args)
        {
            _program = new Program();
            _program.Run(args);
        }
 
        #endregion
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5
Похожие ответы