Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.Net应用程序中保存/加载大量数据的最佳方法?_C#_Save_Load - Fatal编程技术网

C# 在.Net应用程序中保存/加载大量数据的最佳方法?

C# 在.Net应用程序中保存/加载大量数据的最佳方法?,c#,save,load,C#,Save,Load,为.Net 4.0应用程序保存大量数据的最佳方法是什么 现在我正在使用列表并将其序列化到“用户数据”文件夹中的一个文件,其工作正常,但我想知道是否有更好/更快的方法来保存/加载大量数据 我保存的数据只包含很多单词,比如文档 数据的大小几乎为1MB。这取决于您的数据以及您在应用程序中的存储方式 但是所有这些NoSQL存储系统都是可能的,或者只是将普通的二进制数据存储到一个文件中。当你说“大量数据”时,你到底是什么意思?一兆字节?一TB 数据究竟是什么 如果它是一组帐户记录,它很可能属于某种数据库;

为.Net 4.0应用程序保存大量数据的最佳方法是什么

现在我正在使用列表并将其序列化到“用户数据”文件夹中的一个文件,其工作正常,但我想知道是否有更好/更快的方法来保存/加载大量数据

我保存的数据只包含很多单词,比如文档


数据的大小几乎为1MB。

这取决于您的数据以及您在应用程序中的存储方式

但是所有这些NoSQL存储系统都是可能的,或者只是将普通的二进制数据存储到一个文件中。

当你说“大量数据”时,你到底是什么意思?一兆字节?一TB

数据究竟是什么


如果它是一组帐户记录,它很可能属于某种数据库;如果是一组图像或文字处理文档,则可能不是。

这取决于应用程序的类型。我不会使用任何类型的SQL数据库来加载和保存我不需要查询或转换的数据操作。将对象图映射到关系模型所需的时间并不值得。 此外,由于与数据库(连接管理和映射)相关的开销,我不相信它会比简单的序列化更快


我最近的经验是使用BinnaryFormatter,结果非常好(文件~15mb)。更糟的是,你总是可以编写自己的格式化程序

如果您想要快速访问,一种方法是序列化到哈希表并缓存它。在读写之间

这里的问题当然是,版本控制,名称空间的更改(那个么你们将不能很容易地反序列化),死锁,并发性等等


最好将文件另存为XML/JSON,并在内存中读取时将其保存到哈希表中…以便快速访问…

这取决于用途。数据是如何使用的。如果你的问题包含对你试图做什么的更详细解释,你就更有可能得到你想要的答案。我想在网格/列表框中显示很多单词。1mb的数据不是很多数据大小是1mb,只包含很多单词。如果只是单词,为什么不把它们作为选择的编码的纯文本写出来呢。您可以每行写一个单词,或者如果您需要每行写多个单词,请将其设为制表符分隔(HT)。纯文本的优点是,它是人类可读/可编辑的,几乎任何东西都可以轻松访问它。