Лучший способ хранить данные локально в .NET (C #)

Я пишу приложение, которое принимает пользовательские данные и сохраняет их локально для последующего использования. Приложение будет запускаться и останавливаться довольно часто, и яЯ хотел бы сохранить / загрузить данные в начале / конце приложения.

Это'было бы довольно просто, если бы я использовал плоские файлы, так как данные неэто действительно нужно обеспечить (этобудет храниться только на этом компьютере). Варианты, которые я считаю, таковы:

Плоские файлыXMLБД SQL

Плоские файлы требуют немного больше усилий для поддержки (без встроенных классов, как с XML), однако я не имеюЯ не использовал XML раньше, и SQL кажется слишком сложным для этой относительно простой задачи.

Есть ли другие пути, которые стоит изучить? Если нет, то какое из них является лучшим решением?

Изменить: чтобы добавить немного больше данных к проблеме, в основном единственное, что яЯ хотел бы сохранить словарь, который выглядит следующим образом

Dictionary 

где Account - это другой пользовательский тип.

Буду ли я сериализовать dict как xmlroot, а затем тип учетной записи как атрибуты?

Обновление 2:

Так что'Возможно сериализовать словарь. Что усложняет, так это то, что значение этого dict само по себе является универсальным, представляющим собой список сложных структур данных типа Account. Каждая учетная запись довольно проста, этопросто куча свойств.

Насколько я понимаю, цель здесь состоит в том, чтобы попытаться в конечном итоге это:


    
        data1
        data2
    


    
        data1
        data2
    
    
        data1
        data2
    
 

Как вы можете видеть, иерархия

Имя пользователя (строка из dict)>Учетная запись (каждая учетная запись в списке)>Данные учетной записи (т.е. свойства класса).

Получение этого макета изDictionary это хитрый бит, и суть этого вопроса.

Есть многокак' ответы здесь о сериализации, которая является моей ошибкой, так как я неС самого начала это стало понятнее, но теперь яЯ ищу определенное решение.

Ответы на вопрос(19)

Ваш ответ на вопрос