我正在编写一个应用程序,它获取用户数据并将其存储在本地供以后使用.这个应用程序会经常启动和停止,我想让它在应用程序开始/结束时保存/加载数据.
如果我使用平面文件,这将非常简单,因为数据实际上不需要保护(它将只存储在这台电脑上).因此,我认为有以下几种 Select :
- 平面文件
- XML
- SQL数据库
平面文件需要花费更多的精力来维护(没有像XML那样的内置类),但是我以前没有使用过XML,对于这个相对简单的任务来说,SQL似乎有些过头了.
还有其他值得探索的途径吗?如果不是,以下哪项是最好的解决方案?
编辑:为了给这个问题添加更多的数据,基本上我唯一想存储的就是一本这样的字典
Dictionary<string, List<Account>>
其中帐户是另一种自定义类型.
我会将dict序列化为xmlroot,然后将帐户类型序列化为属性吗?
更新2:
因此,可以对字典进行序列化.使它变得复杂的是,这个dict的值本身是一个泛型,它是Account类型的复杂数据 struct 的列表.每个帐户都相当简单,它只是一堆属性.
我的理解是,这里的目标是try 并以以下方式结束:
<Username1>
<Account1>
<Data1>data1</Data1>
<Data2>data2</Data2>
</Account1>
</Username1>
<Username2>
<Account1>
<Data1>data1</Data1>
<Data2>data2</Data2>
</Account1>
<Account2>
<Data1>data1</Data1>
<Data2>data2</Data2>
</Account2>
</Username2>
正如你所看到的,继承人是
- Username (string of dict) >
- Account (each account in the List) >
- 帐户数据(即类属性).
从Dictionary<Username, List<Account>>
中获得这个布局是一个棘手的问题,也是这个问题的本质.
关于连载,这里有很多"如何"的回应,这是我的错,因为我没有在早期把它说得更清楚,但现在我正在寻找一个明确的解决方案.