关于C# app.config的读写及配置汇总

1.1 基本读写方法及版本变更注意事项

1.读 语句:

String str = ConfigurationManager.AppSettings["DemoKey"];

2.写 语句:

Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cfa.AppSettings.Settings["DemoKey"].Value = "DemoValue";
cfa.Save();

配置文件内容格式:(app.config文件)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

    <add key="DemoKey" value="*" />

</configuration>

System.Configuration.ConfigurationSettings.AppSettings["Key"];

注意:但是现在FrameWork2.0已经明确表示此属性已经过时。并建议改为ConfigurationManager或

WebConfigurationManager。并且AppSettings属性是只读的,并不支持修改属性值.

但是要想调用ConfigurationManager必须要先在工程里添加system.configuration.dll程序集的引用。

(在解决方案管理器中右键点击工程名称,在右键菜单中选择添加引用,.net 标签页下即可找到)

添加引用后可以用 String str = ConfigurationManager.AppSettings["Key"]来获取对应的值了。

更新配置文件:

1.2 引入system.configuration程序集后对应程序更新

            str1 = ConfigurationManager.AppSettings["DemoKey"];
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            config.AppSettings.Settings.Clear();//清除原有数据部分
            config.AppSettings.Settings.Add("DemoKey", $"{i.ToString()}");//数据键值添加
            config.Save(ConfigurationSaveMode.Modified);//数据保存
            ConfigurationManager.RefreshSection("appSettings");//重新加载新的配置文件 
            str2 = ConfigurationManager.AppSettings["DemoKey"];//加载后重新拿数据

1.3 app.config 文件及对应代码部分

app.config文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>

  <appSettings>
    <add key="RecipeName1" value="recipeName1" ></add>
    <add key="RecipeName2" value="recipeName2" ></add>
    <add key="RecipeName3" value="recipeName3" ></add>
    <add key="RecipeName4" value="recipeName4" ></add>
    <add key="RecipeName5" value="recipeName5" ></add>
    <add key="RecipeName6" value="recipeName6" ></add>
  </appSettings>
</configuration>

代码部分:

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            //config.AppSettings.Settings.Clear();


            //config.AppSettings.Settings.Remove($"RecipeName1");
            config.AppSettings.Settings.Remove($"RecipeName2");
            //config.AppSettings.Settings.Add($"RecipeName1", $"123123");
            //config.AppSettings.Settings.Add($"RecipeName1", $"123123");
            config.AppSettings.Settings.Add($"RecipeName2", $"456456");
            config.AppSettings.Settings.Add($"RecipeName2", $"456456");


            config.AppSettings.Settings.Remove($"RecipeName3");
            config.AppSettings.Settings.Add($"RecipeName3", $"3333333");

            //config.AppSettings.Settings.Add($"RecipeName{index + 1}", $"{recipeName}");
            config.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection("appSettings");//重新加载新的配置文件 

            string sh1 = ConfigurationManager.AppSettings["RecipeName1"];
            string sh2 = ConfigurationManager.AppSettings["RecipeName2"];
            string sh3 = ConfigurationManager.AppSettings["RecipeName3"];
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 C# 中,可以使用 `ConfigurationManager` 类来读写 `App.config` 文件。 首先需要在项目中添加 `System.Configuration` 引用。然后可以使用以下代码来访问 `App.config` 文件中的配置项: ```csharp using System.Configuration; // 读取 App.config 中的配置项 string value = ConfigurationManager.AppSettings["key"]; // 写入 App.config 中的配置Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.AppSettings.Settings["key"].Value = "value"; config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); ``` 其中,`AppSettings` 是 `App.config` 文件中的一个节点,保存了键值对形式的配置项。可以通过 `ConfigurationManager.AppSettings` 属性来获取该节点下的所有配置项,也可以使用 `Configuration.AppSettings.Settings` 属性来获取指定的配置项。 对于写入配置项,需要先使用 `ConfigurationManager.OpenExeConfiguration` 方法打开 `App.config` 文件,并且指定配置文件的用户级别。然后通过 `Configuration.AppSettings.Settings` 属性来设置指定的配置项的值,最后调用 `Configuration.Save` 方法来保存修改,并调用 `ConfigurationManager.RefreshSection` 方法来刷新配置项。 ### 回答2: C 的英文单词是 "cat",意思是猫。猫是一种可爱的动物,常见于全球各地的家庭和农场。猫是人类历史上最早被驯养的动物之一。它们有着柔软的毛发、敏锐的感觉和独特的行为习惯。猫咪通常喜欢独处,但也能与人建立深厚的关系。 猫的行为习惯独特而有趣。它们喜欢用力蹭头,以标记自己的领地。猫会通过抓挠家具或其他表面来磨尖自己的爪子。猫还会用尾巴来表达情绪,例如当它们高兴时会竖起尾巴。猫咪对捕捉小动物和玩具也很有兴趣,这是它们独特的猎食本能。 猫的品种繁多,每个品种都有不同的外貌和特点。比如波斯猫有长而柔软的毛发,而暹罗猫则有蓝色的眼睛和卷曲的尾巴。无论是哪种品种,猫的身体都非常灵活,具有非凡的跳跃能力和敏锐的听力。 猫有很多好处,它们是家庭中的好伙伴。与猫咪玩耍可以减轻压力和焦虑,同时增加幸福感。猫也可以成为一个好的捕鼠员,它们可以帮助控制室内的老鼠和其他害虫。猫还可以带来快乐和乐趣,通过观察它们的行为和与它们互动的方式。 总之,猫是被驯养和喜爱的动物,它们在人类文化中扮演着重要的角色。无论是作为宠物还是环境中的猎手,猫都是我们生活中不可或缺的一部分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值