Solution 2 gives you a good idea. You can use it or use some fixed data structures; I want to add the solution in part of saving and restoring some arbitrary data:
I think Application Settings is the obsolete feature, it is not flexible enough to me, so I never use it and never advise. There is a newer, much more robust technique, which is one of the forms of
serialization:
https://msdn.microsoft.com/en-us/library/ms733127%28v=vs.110%29.aspx[
^].
This approach is, by far, the easiest to use and very robust: you don't have to think about the file operations at all (XML, in this case). You just make the contract from any data structures consisting of one or several data types. The approach is non-intrusive, there are no essential requirements or limitations to your data classes; you just add some attributes which don't modify any behavior except the persistence. The serializer saves any arbitrary object graph (does not even have to be a tree) to any stream, to later restore it in memory the way it was before.
Please see my past answer advocating this approach:
How can I utilize XML File streamwriter and reader in my form application?[
^],
Creating property files...[
^].
—SA