c# - struct 是将程序设置存储在内存中的好方法吗?

标签 c# .net

我正在编写一个应用程序,需要在应用程序运行时存储程序设置(输入目录、输出目录等)。我想让程序能够加载和使用(基于选项)生产环境和测试环境。

我会像这样设置结构:

Class AppSettings
{
    struct prodAppSettings
    {
        var settingName;
        var settingName2;
        var settingName3;
    }

    struct testAppSettings
    {
        var settingName;
        var settingName2;
        var settingName3;
    }
}

然后,我会在我的主类中,根据用户需要的环境选项加载适当的设置。

AppSettings 类将处理设置的加载(应用程序将与用于设置的 Web 服务交互,或者在网络连接不可用时,它可以使用存储最后已知良好设置的 XML 文件)。我不太熟悉结构,但我想熟悉它们,所以这个项目可能是做这件事的好地方。

编辑

澄清了几件事。

最佳答案

不,基本上。使用。您需要使用 struct 的次数消失很少(除非您是为 XNA 等编写的)——而且这不是一次他们中的。如果您在这里使用 struct,您可能会遇到至少两个问题:

  • 在堆栈上传递一个真的大的struct(而不仅仅是一个引用)
  • 丢失了对 struct 内部副本的更新

很可能是第三个(撕裂值,通过多线程代码)

关于c# - struct 是将程序设置存储在内存中的好方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859832/

相关文章:

c# - 如何在 C# 中使用正则表达式获取某个特定单词之前的数字?

c# - 如果子节点元素相等,如何添加父节点?

c# - 有方法的属性?

c# - 基于调用事件处理程序的函数的返回值

c# - TextBlock 未使用 ViewModel 的属性进行更新

c# - 使用从一个 Controller 到另一个 Controller 的 DbContext 变量

c# - 代码中添加<>是什么意思?

c# - 如何根据引用的dll的文件版本执行不同的语句?

c# - 窗口形式 C# MS Access 检查是否已有该数据的值

c# - 非字符串引用类型的 const 字段只能用 null 错误初始化