Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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# 直接使用文件还是将文件的所有内容存储到内存中并从内存中编辑数据更好?_C#_Application Design - Fatal编程技术网

C# 直接使用文件还是将文件的所有内容存储到内存中并从内存中编辑数据更好?

C# 直接使用文件还是将文件的所有内容存储到内存中并从内存中编辑数据更好?,c#,application-design,C#,Application Design,我目前正在开发一个todolist系统,它的作用类似于日历,用于存储任务,并在完成任务后将其签出。我们还应该能够撤销所做的更改 目前,我的项目伙伴建议我们将数据存储到具有不同日期的文件中,当我们想要搜索特定任务时,只需搜索文件是否存在,然后在需要时编辑并直接操作文件 但是,我觉得在执行程序时,最好将数据存储到一个大文件中,并将其加载到内存中(可能是任务列表)。但我无法解释为什么 在处理这个问题时,OOP会出现吗 抱歉,如果我有点困惑,因为我还在学习。对于数据库解决方案来说,这是一项完美的任务。我

我目前正在开发一个todolist系统,它的作用类似于日历,用于存储任务,并在完成任务后将其签出。我们还应该能够撤销所做的更改

目前,我的项目伙伴建议我们将数据存储到具有不同日期的文件中,当我们想要搜索特定任务时,只需搜索文件是否存在,然后在需要时编辑并直接操作文件

但是,我觉得在执行程序时,最好将数据存储到一个大文件中,并将其加载到内存中(可能是任务列表)。但我无法解释为什么

在处理这个问题时,OOP会出现吗


抱歉,如果我有点困惑,因为我还在学习。

对于数据库解决方案来说,这是一项完美的任务。我建议您使用VisualStudio中包含的SQL server数据库来完成此任务。 将每个任务存储为表中的行,并在编辑时选择日历视图的日期和主题以及一个任务的所有值。VS有一些非常好的工具可以在几分钟内创建这样的应用程序(对于有经验的用户)


当几个人需要同时编辑数据时,处理文件总是一团糟。

对于数据库解决方案来说,这是一项完美的任务。我建议您使用VisualStudio中包含的SQL server数据库来完成此任务。 将每个任务存储为表中的行,并在编辑时选择日历视图的日期和主题以及一个任务的所有值。VS有一些非常好的工具可以在几分钟内创建这样的应用程序(对于有经验的用户)


当几个人需要同时编辑数据时,处理文件总是一团糟。

首先,这是一个持久性问题,应该使用众所周知的模式来解决。您可以使用数据库和存储库模式来解决这个问题。Nosql数据库也是一种选择,因为它易于设置,并且缺少与SQL数据库相关的开销

但是,如果您选择平面文件,那么在内存中保存所有数据存在一个缺陷,即当出现异常或程序关闭时,您会丢失所有数据。使用创建-读取-更新和删除CRUD循环需要持久性。
这会导致在运行过程中保持小数据块,并且在崩溃时只会丢失少量数据。

首先,这是一个持久性问题,应该使用众所周知的模式来解决。您可以使用数据库和存储库模式来解决这个问题。Nosql数据库也是一种选择,因为它易于设置,并且缺少与SQL数据库相关的开销

但是,如果您选择平面文件,那么在内存中保存所有数据存在一个缺陷,即当出现异常或程序关闭时,您会丢失所有数据。使用创建-读取-更新和删除CRUD循环需要持久性。
这会导致在运行过程中保持小数据块,并且在崩溃时只会丢失少量数据。

最佳做法始终取决于您所做的工作,因为您必须对待办事项列表进行多次操作,
因此,如果您使用客户端内存(如sdf文件)来执行此操作,而不是制作文件,则效果会更好,因为sdf文件将用作数据库,而且它重量轻,数据量大,比文件更易于处理,因此最佳做法始终取决于您所做的工作,因为对于必须对其进行多次操作的待办事项列表, 因此,如果您使用客户端内存(如sdf文件)来实现这一点,而不是制作文件,这会更好,因为sdf文件将用作数据库,而且它的重量轻,数据量大,比文件更易于处理