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

标签 .net string null settings

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

  • Settings.Default.FooString == null
  • 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;
            }
        }
    

    问题在于生成的 [DefaultSettingValueAttribute("")]。当我使用 [DefaultSettingValueAttribute(null)] 手动更正它时,它可以正常工作,但是,每当我修改设置选项卡上的任何内容时,我都需要这样做,这是 Not Acceptable 。

    任何线索?

    最佳答案

    你是对的,没有办法同时实现这两种情况,因为 null != String.Empty .

    但是你可以使用 Boolean String.IsNullOrEmpty(String)检查这两种情况。

    关于.NET 应用程序设置 -> 设置空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3175881/

    相关文章:

    .net - WCF - 如何增加消息大小配额

    c# - 二元运算符的参数之一必须是包含类型 c#

    javascript - 字符串包含另一个字符串

    c# - 具有重试计数和重试延迟的文件上传 - C# 中的最佳方法

    c# - 大量的 BigInteger 日志问题

    python - 使用 groupby 计算列表中的字符串开关

    Java - 更改标签并出现错误

    PHP - 在 null 上调用成员函数 query() - 错误

    c++ - 对 C++ 空指针使用 NULL 或 nullptr?

    javascript - 如何过滤掉空的 JSON 键(null?)