轻量级C#持久键值存储?

轻量级C#持久键值存储?,c#,C#,我正在构建一个在webforms上运行的小型内部应用程序,需要一种轻量级的方式来存储设置的键/值对。键和值都是字符串,值的长度未知,可能包含格式化字符。最简单的方法是什么?我曾考虑过使用SQL来存储它,但这似乎很愚蠢。我只需要以下功能: 1) 能够判断是否存在密钥 2) 能够通过键检索值 3) 能够通过键设置值 实际上,我可以简单地将字典持久化到磁盘上,但我不确定如何以一种避免特殊字符(如回车符、逗号等)问题的方式干净地完成它 有人有特别懒惰的方法来做这件事吗 编辑:有问题的数据项将加载到属性网

我正在构建一个在webforms上运行的小型内部应用程序,需要一种轻量级的方式来存储设置的键/值对。键和值都是字符串,值的长度未知,可能包含格式化字符。最简单的方法是什么?我曾考虑过使用SQL来存储它,但这似乎很愚蠢。我只需要以下功能: 1) 能够判断是否存在密钥 2) 能够通过键检索值 3) 能够通过键设置值

实际上,我可以简单地将字典持久化到磁盘上,但我不确定如何以一种避免特殊字符(如回车符、逗号等)问题的方式干净地完成它

有人有特别懒惰的方法来做这件事吗

编辑:有问题的数据项将加载到属性网格中,而不是加载到单个winforms控件中,因此我认为我无法使用PropertyBinding基础结构来实现这一点


编辑:我忘了添加我需要能够在运行时添加全新的键。全套密钥在设计时是未知的。

尝试使用内置设置系统:

尝试使用内置设置系统:

如果您的应用程序已经使用了数据库,我会使用它,而不是在混合中添加其他技术

如果您的应用程序已经使用了数据库,我会使用它,而不是在混合中添加其他技术

为什么使用SQL会很愚蠢?而且,实际上任何类型的数据存储都可以做到这一点。哪个更合适在很大程度上取决于您的用例。重要的事情是,例如,如果您需要在运行时更改值,如果您需要并发性等等。我认为SQL会很愚蠢,因为它太过了。这似乎比需要付出的努力多得多。我也许可以把字典存到磁盘上,继续生活下去。为什么使用SQL会很愚蠢呢?而且,实际上任何类型的数据存储都可以做到这一点。哪个更合适在很大程度上取决于您的用例。重要的事情是,例如,如果您需要在运行时更改值,如果您需要并发性等等。我认为SQL会很愚蠢,因为它太过了。这似乎比需要付出的努力多得多。我可能只需要将字典保存到磁盘并继续生活就可以了。它目前没有使用数据库(它目前没有保存任何东西,只是一个实用工具)。AppSettings?如果这还不够的话,XML或Sqlite可能会这样做。它目前不使用数据库(它目前没有持久化任何东西-它只是一个实用工具)。AppSettings?如果这还不够的话,XML或Sqlite可以做到这一点。