На мой взгляд, здесь нужно задать пару вопросов.
- Можете ли вы изменить формат файла?
- Нет ли способа, вы можете указать отдельный разделитель для пар ключ / значение?
{Значение: мусор, псевдоним: someotherGarbage}, {значение: secondGarbage ....}
- Являются ли строки (Environment.NewLine) единственным способом разделения пакетов?
Если ответ на 1 верен,
затем вы можете использовать XmlSerializer и сериализовать и десериализовывать ваши объекты туда и сюда.
Если ответ на 2 верен,
тогда вы можете посмотреть на синтаксический анализ файла вручную с помощью регулярных выражений или чтения построчно и просто искать значение: и затем предположить, что следующим элементом является значение «Значение»
если ответ на 3 верный,
Возможно, тот же ответ, что и 2.
Надеюсь, это поможет.