C#程序中访问配置文件

在C#编程中,有时候会用到配置文件,那么该如何在程序中获取或修改配置文件中的相关数据呢?下面采用一个简单的C#控制台程序来说明。

新建一个C#控制台程序,打开“解决方案资源管理器”,如下图:

可以看到里面没有配置文件,下面使用修改.net的版本来将其调出来。选中工程,单击右键,选择属性。

 

此时配置文件出来了。按照下图添加配置信息:

好了,现在我们就添加代码来访问这些信息。

?


1

2

3

4

5

6

7

8

9

/// <summary>

/// 在配置信息中根据指定的键获取值。

/// </summary>

/// <param name="key">指定的键。

/// <returns></returns>

public static string GetConfigurationValue(string key)

{

    return ConfigurationManager.AppSettings[key];

}

?


1

2

3

4

5

6

7

8

9

10

11

12

/// <summary>

/// 在配置信息中修改指定键的值。

/// </summary>

/// <param name="key">

/// <param name="value">

public static void SetConfigurationValue(string key, string value)

{

    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

    config.AppSettings.Settings[key].Value = value;

    config.Save(ConfigurationSaveMode.Modified);

    System.Configuration.ConfigurationManager.RefreshSection("appSettings");

}

添加代码后,会发现程序报错,此时我们应该添加一个dll的引用,并在文件中加入

?


1

using System.Configuration;

在Main函数中添加代码

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

static void Main(string[] args)

{

    Console.WriteLine(GetConfigurationValue("id"));

    Console.WriteLine(GetConfigurationValue("sex"));

    Console.WriteLine(GetConfigurationValue("age"));

    SetConfigurationValue("id", "007");

    SetConfigurationValue("sex", "女");

    SetConfigurationValue("age", "26");

    Console.WriteLine();

    Console.WriteLine(GetConfigurationValue("id"));

    Console.WriteLine(GetConfigurationValue("sex"));

    Console.WriteLine(GetConfigurationValue("age"));

}

运行结果如下:

时间: 2024-08-23 16:42:32

C#程序中访问配置文件的相关文章

在java程序中访问windows有用户名和密码保护的共享目录

在java程序中访问windows有用户名和密码保护的共享目录 Posted on 2015-11-20 14:03 云自无心水自闲 阅读(3744) 评论(0)  编辑  收藏 --> Java程序中访问拥有全部读写权限的目录相对比较简单,和普通的目录没有什么差别.但是要访问一个需要用户和密码验证的目录就需要一点点小技巧了.这里介绍一个开源的库能够比较容易的实现这一需求.1. 下载库文件: https://jcifs.samba.org/ 下载的zip文件中, 不仅包含了jar文件,还有文档和

oracle存储过程--在应用程序中访问存储过程程序完整举例

认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块.但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的.和PL/SQL程序相比,存储过程有很多优点,具体归纳如下: * 存储过程和函数以命名的数据库对象形式存储于数据库当中.存储在数据库中的优点是很明显的,因为代码不保存在本地,用户可以在任何客户机上登录到数据库,并调用或修改代码. * 存储过程和函数可由数据库提供安全保证,要想

第51课 程序中的配置文件

1. 程序状态的保存和恢复 (1)程序的状态 ①应用程序在运行后都有一个初始化的状态 ②一般而言,程序的初始状态是最近一次运行退出前的状态 (2)解决思路 ①程序退出前保存状态参数到文件(数据库) ②程序再次启动时读出状态参数并恢复 (3)状态参数的存储方式 ①文本文件格式(XML.JSon等) ②轻量级数据库(Access.SQLite等) ③私有二进制文件格式 2. Qt中的解决方案 (1)通过二进制数据流将状态参数直接存储于文件中 (2)优势 ①参数的存储和读取简单高效,易于编码实现 ②最

在程序集或控制台程序中读取配置文件

https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/configuration/?tabs=basicconfiguration Nuget 添加 Microsoft.Extensions.Configuration.Json Microsoft.Extensions.Options.ConfigurationExtensions using Microsoft.Extensions.Configuration; using Sys

在CG/HLSL中访问着色器属性(Properties)

在CG/HLSL中访问着色器属性 Shader在Properties块中访问材质属性.如果你想在一个着色程序中访问一些属性,你需要声明一个Cg/HLSL具有相同的名称和一个匹配的类型的变量. Properties 例如这些材质属性: _MyColor ("Some Color", Color) = (1,1,1,1) _MyVector ("Some Vector", Vector) = (0,0,0,0) _MyFloat ("My float"

用java程序直接访问URL地址

/**       * 程序中访问http数据接口       */      public static String getURLContent(String urlStr) {                     /** 网络的url地址 */           URL url = null;                    /** http连接 */       HttpURLConnection httpConn = null;                   /**/

关于C++类中访问权限的若干疑问(虚函数访问权限)

下面这样一个程序:(以下程序都是在VS2010下实现) 1: class Base 2: { 3: public: 4: virtual void func() 5: { 6: cout<<"Base virtual func"<<endl; 7: } 8: }; 9: 10: class Derived: public Base 11: { 12: private: 13: virtual void func() 14: { 15: cout<<&

在应用程序中使用Runspace 1

或许你也已经察觉,使用Windows PowerShell 来完成你的管理任务,她方便,高效,优雅而灵活. 当然作为一个运维人员来说,Windows PowerShell 就是堪比人类历史上最伟大的发明---空调 之后最伟大的发明 没有之一,同样作为一个运维,开发界限模糊的IT时代,PowerShell 作为一个 跨平台的管理工具,尤其在Windows 平台 光芒无限,在面临组织内自定义应用程序时候通过有效的访问手段,开发人员依然可以依靠这一强大的平台进行快速的构建应用程序,当然作为管理,运维人

了解 JavaScript 应用程序中的内存泄漏

简介 当处理 JavaScript 这样的脚本语言时,很容易忘记每个对象.类.字符串.数字和方法都需要分配和保留内存.语言和运行时的垃圾回收器隐藏了内存分配和释放的具体细节. 许多功能无需考虑内存管理即可实现,但却忽略了它可能在程序中带来重大的问题.不当清理的对象可能会存在比预期要长得多的时间.这些对象继续响应事件和消耗资源.它们可强制浏览器从一个虚拟磁盘驱动器分配内存页,这显著影响了计算机的速度(在极端的情形中,会导致浏览器崩溃). 内存泄漏指任何对象在您不再拥有或需要它之后仍然存在.在最近几