C# 设置的替代方法是什么

C# what is alternative for settings

我想保存在多次运行中持续存在的设置,在使用 Settings.Default.Save() 时基本上与 C# 中的设置相同。

是否有一些替代方法可以将变量存储在 class 或类似的东西中?

是的,您可以通过多种方式存储数据。

例如:

  1. 应用程序配置

  2. 对象序列化 - https://msdn.microsoft.com/en-us/library/ms233843.aspx

  3. 一些其他外部文件,如 XML、Json - http://www.w3.org/XML/ http://json.org/

  4. 数据库

这里有很多选择。

  • 将设置保存到 windows 注册表。
  • 将设置保存到文本文件。
  • 在数据库中保存设置。

以下是我通常如何保存应用程序设置:

  • 创建 Settings class 并将设置作为我要保存的属性。
  • 创建 LoadSettings()SaveSettings() 等函数。
  • SaveSettings负责创建设置的实例,然后序列化并保存。我用Newtonsoft.JSON序列化成JSON.
  • LoadSettings 读取包含已保存数据的文件,反序列化它,并用它填充 UI。

如果您实现类似的功能,您甚至可以使用自定义文件扩展名保存设置文件,然后将该扩展名关联到您的应用程序。

这样,在您的 main 方法中,您可以检查要加载的设置文件。

当我必须允许应用程序的多个实例时,我通常使用这种方法,因为在这种情况下 <namespace>.Properties.Settings 不会削减它。