How to store data locally in .NET (C#)
I'd store the file as JSON. Since you're storing a dictionary which is just a name/value pair list then this is pretty much what json was designed for.
There a quite a few decent, free .NET json libraries - here's one but you can find a full list on the first link.
What is the best way to store data in c# application
I would suggest using a localDB in SqlExpress.
Microsoft® SQL Server® 2012 Express is a powerful and reliable free
data management system that delivers a rich and reliable data store
for lightweight Web Sites and desktop applications.
http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx
http://technet.microsoft.com/en-us/library/hh510202.aspx
You could also look at this similar question.
Here as an article on XML vs. DB which shows XML is losing ground.
What is the best way to store data in local in C#.net application?
You can serialize your objects to either, so it is your choice / personal preference.
JSON has become the standard for data transfer, through the adoption of AJAX calls, although XML is still widely used.
If space is an issue, JSON uses less space.
If there is no reason to use XML, then JSON would seem like a good way to go.
How to store application data locally so information can persist across application sessions
I can suggest you to use SQL lite, and maybe instead of "tree" that you have in the List you can have that structure in the db or if you already have all that logic and wants to save as you mention like a json or xml you can do it.
How to store data in a .net windows application
There is now SQL Server Compact Edition. This is compiled right into your application. The end user won't need any other version of SQL Sever to use your application. See http://www.microsoft.com/sqlserver/en/us/editions/compact.aspx
Related Topics
Convert Datatable to Generic List
Executenonquery for Select SQL Statement Returning No Rows
Calculate the Display Width of a String in C#
What Does Maxdegreeofparallelism Do
Does Entity Framework 4 Code First Have Support for Identity Generators Like Nhibernate
Does Garbage Collection Run During Debug
Fake-Scrolling Containers with Very Many Controls
How to Load Assembly at Runtime and Create Class Instance
Blocking Dialogs in .Net Webbrowser Control
How to Effectively Draw on Desktop in C#
How to Declare One to One Relationship Using Entity Framework 4 Code First (Poco)
Get Individual Query Parameters from Uri
A Dependent Property in a Referentialconstraint Is Mapped to a Store-Generated Column
Run Two Winform Windows Simultaneously