Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET应用程序设置->;设置空字符串_.net_String_Null_Settings - Fatal编程技术网

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

.NET应用程序设置->;设置空字符串,.net,string,null,settings,.net,String,Null,Settings,我应该在app.config的applicationSettings部分键入什么(在这两种情况下),以便在阅读设置时可以获得以下内容: Settings.Default.FooString==null Settings.Default.FooString==string.Empty ?? 我想这两种情况都无法实现,还是我遗漏了什么 不幸的是,需要区分字符串值是null还是空,因为该值将传递给不同的系统,该系统对这两个值做出不同的决定。 谢谢 进一步资料: 每次修改“设置”选项卡时,都会重新生成

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

  • Settings.Default.FooString==null
  • Settings.Default.FooString==string.Empty
  • ?? 我想这两种情况都无法实现,还是我遗漏了什么

    不幸的是,需要区分字符串值是null还是空,因为该值将传递给不同的系统,该系统对这两个值做出不同的决定。 谢谢


    进一步资料:

    每次修改“设置”选项卡时,都会重新生成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)]手动更正它时,它可以正常工作,但是,每当我修改设置选项卡上的任何内容时,我都需要这样做,这是不可接受的


    有什么线索吗?

    如果要空,请保留未定义的应用设置,如果要字符串,请使用value=“”。空

    你是对的,这两种情况都无法实现,因为
    null!=String.Empty


    但是您可以使用
    布尔字符串.IsNullOrEmpty(String)
    来检查这两种情况。

    对于
    null
    ,您只需省略整个
    元素


    对于
    字符串.Empty
    您使用

    它不相关,很抱歉。。。我认为这是相同的原则。与上面的答案相同,你在applicationsettings@Łukasz Podolak中没有任何元素-我猜@matt dot net和我认为你指的是
    appSettings
    元素。答案已更新。如果省略元素,则会得到System.Configuration.ConfigurationErrorsException:未找到必需的属性“value”。