Вы можете использовать XmlSerializer, чтобы действительно легко сохранять ваши данные в файле. В Google можно найти множество учебных пособий, которые научат вас, как всего за несколько минут. Однако большинство из них хотят показать вам, как добавить атрибуты к вашим свойствам, чтобы настроить способ их сериализации, поэтому я просто укажу, что они на самом деле не нужны. Пока у вас есть тег [Serializeable] над вашим классом, все, что вам нужно, это что-то вроде этого для сохранения:
void Save()
{
using (var sw = new StreamWriter("somefile.xml"))
(new XmlSerializer(typeof(MyClass))).Serialize(sw, this);
}
и что-то подобное в функции для чтения:
MyClass Load()
{
XmlSerializer xSer = new XmlSerializer(typeof(MyClass));
using (var sr = new StreamReader("somefile.xml"))
return (MyClass)xSer.Deserialize(sr);
}