Write values in app.config file

后端 未结 10 961
生来不讨喜
生来不讨喜 2020-11-29 01:46

can anyone please help me how can I set/store values in the app.config file using c#, is it possible at all?

10条回答
  •  一向
    一向 (楼主)
    2020-11-29 02:12

    As others mentioned, you can do this with ConfigurationManager.AppSettings.Settings. But: Using Settings[key] = value will not work if the key doesn't exist.
    Using Settings.Add(key, value), if the key already exists, it will join the new value to its value(s) separated by a comma, something like

    To avoid these unexpected results, you have to handle two scenario's

    • If entry with the given key exists? then update its value
    • if entry with the given key doesn't exist? then create new entry(key,value)

    Code

    public static void Set(string key, string value)
    {
        var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    
        var entry = config.AppSettings.Settings[key];
        if (entry == null)
            config.AppSettings.Settings.Add(key, value);
        else
            config.AppSettings.Settings[key].Value = value;
    
        config.Save(ConfigurationSaveMode.Modified);
    }
    

    For more info about the check entry == null, check this post.
    Hope this will help someone.

提交回复
热议问题