C# 什么';在.NET windows应用程序中存储用户设置的首选方法是什么?

C# 什么';在.NET windows应用程序中存储用户设置的首选方法是什么?,c#,.net,winforms,C#,.net,Winforms,请原谅我的无知,但我从未真正开发过Windows应用程序。如何存储用户设置?嵌入式数据库是首选方法吗?我想您正在寻找: NET Framework 2.0允许您 创建并访问以下值: 在应用程序之间持久化 执行会话。这些值是 称为设置。设置可以 表示用户首选项,或 应用程序中有价值的信息 需要使用。例如,您可以 创建一系列用于存储的设置 颜色方案的用户首选项 应用程序的名称。或者你可以去商店 指定连接的连接字符串 应用程序使用的数据库。 通过设置,您可以同时保持 对客户至关重要的信息 代码之外的应

请原谅我的无知,但我从未真正开发过Windows应用程序。如何存储用户设置?嵌入式数据库是首选方法吗?

我想您正在寻找:

NET Framework 2.0允许您 创建并访问以下值: 在应用程序之间持久化 执行会话。这些值是 称为设置。设置可以 表示用户首选项,或 应用程序中有价值的信息 需要使用。例如,您可以 创建一系列用于存储的设置 颜色方案的用户首选项 应用程序的名称。或者你可以去商店 指定连接的连接字符串 应用程序使用的数据库。 通过设置,您可以同时保持 对客户至关重要的信息 代码之外的应用程序,以及 创建用于存储 个人用户的偏好


这取决于什么样的设置。有多种方法,从嵌入式数据库(如SQLite)到XML文件,再到注册表

  • 如果设置很少,注册表通常是有意义的
  • 如果设置更复杂,需要手动编辑,则可以使用XML文件或JSON
  • 如果设置很复杂,不需要手工编辑,那么像SQLite、.NetBtree或BerkelyDB.NET这样的嵌入式数据库是不错的选择

这完全取决于您正在构建的应用程序的大小。如果你正在做一些简单的事情,比如说“家庭购物清单”,你可以将设置存储在一个好的旧的纯文本文件中

如果您正在构建更大的东西,例如“同学通知器”,您可以使用XML文件或其他某种资源


对于任何更大的应用程序,都应该使用某种关系数据库来存储用户数据。

使用Blane的Pegasus库()

您可以使用他的XmlSerializationHelper类,这使得将对象转换为XML非常简单,反之亦然


或者你可以使用独立存储(如果我不是新用户,并且每篇文章只能有一个超链接,我会提供一个指向MSDN的链接)。如果使用隔离存储,请考虑使用Blane的隔离存储库HaseTABLE类。

@迈克:他的东西是好的,但我不想对外部依赖依赖BASISC之类的东西。谢谢。正如其他人所说,.NET2.0设置甚至比文本文件更简单,因为没有从右到左的代码来处理。这很好。另一个需要考虑的问题是版本控制;任何现实世界的应用程序在发展过程中都会获得更多的设置。较旧版本的应用程序应允许较新版本的设置(忽略新添加的设置),较新版本的应用程序应允许较旧版本的设置文件(对缺少的参数使用合理的默认值)