保存和还原DataTable的最佳方法C# - c#

我已经开发了一个WinForm c#应用程序,现在添加了一个恢复选项,因此,如果它意外关闭,则可以在新运行中恢复所有内容。

我设法恢复了几乎所有东西(列表,整数,字符串等)
我面临的唯一问题是还原DataTable。在我的应用程序上运行期间,记录被添加到此DataTable中,最终用户可以将其导出到csv。

我尝试将DataTable添加到Properties.Settings.Default ...,但是在新运行中不起作用,我始终将其视为Null

任何关于保存和恢复DataTable的最佳方法的建议都请记住,它们在运行期间可能会超过10-15 k。

谢谢

参考方案

Properties.Settings可以存储字符串数据,因此您可以序列化DataTable并将其存储。稍后,您可以反序列化字符串以获取DataTable。您可以像这样使用JSON.Net:

var serializedDt = JsonConvert.SerializeObject(dt);
//store the string

找回:

DataTable yourDataTable = JsonConvert.DeserializeObject<DataTable>(serializedDt);

要添加的另一件事是,如果您希望获得大数据,则可以查看将数据存储在客户端数据库中的选项,例如Sqlite。

在Visual Studio Proff中调试本机代码 - c#

我们在这里使用的解决方案包括C#中的一个项目和C中的另一个项目。是否可以在Visual Studio中调试c代码? c#参考方案 当然,如果您有源代码,请从中创建一个项目,作为调试进行编译(添加断点,监视...)并进行调试。

开始C#注释块的星号数 - c#

在Visual Studio 2010中的C#程序中,我有一个大的,多行注释块,从 / **通过注释块的一部分是看起来像这样的一行。 。 。 this.afIODisplay =“ <” + lineToParse + Environment.NewLine + this.afIODisplay;在小于号的点,颜色从注释绿色变为灰色,并且编译器发出警告…

Visual Studio Code可以增量编译Java Web App项目吗? - java

我是Visual Studio Code的新手。我正在尝试将其与使用Maven的现有Java Web应用程序项目一起使用。我已经下载了推荐的Java扩展,例如Java Extension Pack,Java Maven和Java Tomcat。在IntelliJ(我通常的IDE)中,我可以很快地从Java的少量编辑转到Tomcat中刷新的WAR。如果我编辑文…

如何为Aptana Studio 3添加PHP 5.4语法支持? - php

在Aptana的代码编辑器中使用语法功能PHP 5.4(例如,用[]代替array ())时,出现语法错误。有没有办法增加对PHP 5.4的支持? 参考方案 还没。在http://jira.appcelerator.org/browse/APSTUD-4447有一张票干杯

每次将鼠标悬停在调试模式下的变量时,MS Visual Studio Express 2012桌面都会崩溃 - c#

导致崩溃的代码示例当我将鼠标悬停在previousKey上时,它会崩溃我以前使用过很多次,直到现在它从未崩溃过。崩溃信息应用事件名称:BEX应用程序名称:WDExpress.exe应用程式版本:11.0.50727.42应用时间戳:503ebe9f错误模块的名称:StackHash_0a9e错误模块的版本:0.0.0.0异常移位:71d071c6异常代码:c…