相关疑难解决方法(0)

在.NET中本地存储数据的最佳方式(C#)

我正在编写一个应用程序,它接收用户数据并将其存储在本地以供日后使用.应用程序将经常启动和停止,我想在应用程序启动/结束时保存/加载数据.

如果我使用平面文件,那将是相当简单的,因为数据并不真正需要保护(它只会存储在这台PC上).我相信的选择因此是:

  • 平面文件
  • XML
  • SQL DB

平面文件需要更多的维护工作(没有类似于XML的内置类),但是之前我没有使用过XML,而且对于这个相对简单的任务来说,SQL似乎有些过分.

还有其他值得探索的途径吗?如果没有,哪一个是最好的解决方案?


编辑:要为问题添加更多数据,基本上我唯一想存储的是一个看起来像这样的字典

Dictionary<string, List<Account>> 
Run Code Online (Sandbox Code Playgroud)

其中Account是另一种自定义类型.

我会将dict序列化为xmlroot,然后将Account类型作为属性吗?


更新2:

所以可以序列化字典.使它变得复杂的是这个dict的值是泛型本身,它是Account类型的复杂数据结构的列表.每个帐户都相当简单,它只是一堆属性.

我的理解是,这里的目标是尝试最终得到:

<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>
Run Code Online (Sandbox Code Playgroud)

你可以看到heirachy是

  • 用户名(字典串)>
  • 帐户(列表中的每个帐户)>
  • 帐户数据(即类属性).

从a获取这个布局Dictionary<Username, List<Account>>是棘手的一点,也是这个问题的本质.

这里有很多关于序列化的"如何"回应,这是我的错,因为我没有在早期更清楚,但现在我正在寻找一个明确的解决方案.

.net c# xml data-storage

68
推荐指数
9
解决办法
14万
查看次数

标签 统计

.net ×1

c# ×1

data-storage ×1

xml ×1