.NET 应用程序设置 -> 设置空字符串

Łuk*_*lak 5 .net string settings null

我应该在 app.config 的 applicationSettings 部分中输入什么(在这两种情况下),以便当我阅读“设置”时,我可以获得以下内容:

  1. Settings.Default.FooString == null
  2. Settings.Default.FooString == string.Empty

?我想没有办法实现这两种情况,或者我错过了什么?

不幸的是,需要区分字符串值是空还是空,因为这个值进入不同的系统,对这两个系统做出不同的决定。谢谢


更多信息:

每次修改设置选项卡时都会重新生成 Settings.Designer.cs。示例生成的设置是:

    [global::System.Configuration.UserScopedSettingAttribute()]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Configuration.DefaultSettingValueAttribute("")]
    public string Foo {
        get {
            return ((string)(this["Foo "]));
        }
        set {
            this["Foo "] = value;
        }
    }
Run Code Online (Sandbox Code Playgroud)

问题出在生成的 [DefaultSettingValueAttribute("")] 上。当我使用 [DefaultSettingValueAttribute(null)] 手动更正它时,它会按照我想要的方式工作,但是,每当我修改设置选项卡上的任何内容时,我都需要执行此操作,这是不可接受的。

有什么线索吗?

mat*_*net 2

如果您想要 null,请保留 appSetting 未定义;如果您想要 String.Empty,请使用 value=""