App.config是C#开发WinForm程序的配置文件,开发Web程序的配置文件叫Web.config。本文介绍App.config的简介使用。

我们先来打开一个App.config文件,看看它的内容像什么样子。

1

2

3

4

5

6

7

8

9

10

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

<configuration>

<connectionStrings>

<add name="conn" connectionString="this is connection string"/>

</connectionStrings>

<appSettings>

<add key="key1" value="value1" />

<add key="key2" value="value2" />

</appSettings>

</configuration>

从这段代码可以看出,App.config完全是xml文档。它有如下几个特点。
1、它有一个<configuration>标签,所有的配置项都在<configuration>标签下面。
2、C#内置了一个<connectionStrings>节点,专门用于配置数据库连接字符串。它下面可以使用<Add>节点来添加多个数据库连接字符串。
3、<appSettings>,大家了解Web.config的应该很熟悉它,它可以配置任何key-value这样的键值对。最早没有<connectionStrings>的时候,我们也是把数据库连接的字符串放在<appSettings>里面的。

下面我们写一个程序来看看怎么从App.config这个程序配置文件中获取配置信息。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

using System;

using System.Collections.Generic;

using System.Collections;

using System.Linq;

using System.Text;

using System.Configuration;

namespace AppConfig

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("ConnectionStrings:");

// ConfigurationManager.ConnectionStrings是一个ConnectionStringSettingsCollection对象

// 按数字循环得到一个个ConnectionStringSettings对象

// 每个ConnectionStringSettings对象有Name和ConnectionString属性

for (int i = 0; i < ConfigurationManager.ConnectionStrings.Count; i++)

{

string name = ConfigurationManager.ConnectionStrings[i].Name;

string connectionString = ConfigurationManager.ConnectionStrings[i].ConnectionString;

Console.WriteLine(i.ToString() + ". " + name + " = " + connectionString);

}

//也可以如下操作,使用ConnectionStringSettings类型来进行foreach遍历

foreach (ConnectionStringSettings conn in ConfigurationManager.ConnectionStrings)

{

string name = conn.Name;

string connectionString = conn.ConnectionString;

Console.WriteLine(name + " = " + connectionString);

}

//直接获取conn的值

Console.WriteLine("\r\nGet the value of the node named \"conn\":");

Console.WriteLine(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);

Console.WriteLine("");

Console.WriteLine("AppSettings:");

//AppSettings是NameValueConnection类型,使用AllKeys返回一个所有Key组成的字符串数组

string[] keys = ConfigurationManager.AppSettings.AllKeys;

for (int i = 0; i < keys.Length; i++)

{

string key = keys[i];

//通过Key来索引Value

string value = ConfigurationManager.AppSettings[key];

Console.WriteLine(i.ToString() + ". " + key + " = " + value);

}

// 没有NameValuePair这样的对象,所以无法使用foreach来进行循环

//直接获取key1的值

Console.WriteLine("\r\nGet the value of the key named \"key1\":");

Console.WriteLine(ConfigurationManager.AppSettings["key1"]);

//pause the process

Console.ReadKey();

}

}

}

上面演示了如何遍历<connectionStrings>,如何遍历<appSettings>,如何单独获取某一个connectionString,如何单独获取某个appSetting。大家可以收藏一下,以便以后使用时参考。

App.config和Web.config的语法格式是完全一样的,只是一个用户WinForm程序,一个用于Web程序。

App.config在编译之后,将会被编译到bin\Debug目录下,文件名为“应用程序名.exe.config”。
  
关于C#中App.config文件的使用,本文就介绍这么多,希望对您有所帮助,谢谢!

C# App.config配置文件的讲解的更多相关文章

  1. C# 读写App.config配置文件的方法

    我们经常会希望在程序中写入一些配置信息,例如版本号,以及数据库的连接字符串等.你可能知道在WinForm应用程序中可以利用Properties.Settings来进行类似的工作,但这些其实都利用了Ap ...

  2. C#中动态读写App.config配置文件

    转自:http://blog.csdn.net/taoyinzhou/article/details/1906996 app.config 修改后,如果使用cofnigurationManager立即 ...

  3. 关于App.config配置文件

    今天在做复习的时候,突然发现自己无法读取配置文件中的数据库连接字符串,而且检查了半天也没找出原因,最后求助万能的度娘才得以解决—— 1.App.config配置文件在项目中添加后不要修改名称,否则会出 ...

  4. C# 读写App.config配置文件

    一.C#项目中添加App.config配置文件 在控制台程序中,默认会有一个App.config配置文件,如果不小心删除掉,或者其他程序需要配置文件,可以通过添加得到. 添加步骤:右键项目名称,选择“ ...

  5. 【Core】.NET Core中读取App.config配置文件

    1.项目中添加App.config文件 因为.NET Core的项目本质是控制台应用,所以ConfigurationManager的API会去默认读取app.config配置文件,而不是web.con ...

  6. 读写App.config配置文件的方法

    我们经常会希望在程序中写入一些配置信息,例如版本号,以及数据库的连接字符串等.你可能知道在WinForm应用程序中可以利用Properties.Settings来进行类似的工作,但这些其实都利用了Ap ...

  7. 修改 App.Config 配置文件 C#

    [转]在WCF程序中动态修改app.config配置文件 今天在个WCF程序中加入了修改配置文件的功能.我是直接通过IO操作修改的app.config文件内容,修改后发现发现其并不生效,用Google ...

  8. 【C#】#103 动态修改App.config配置文件

    对 C/S模式 下的 App.config 配置文件的AppSetting节点,支持配置信息现改现用,并可以持久保存. 一. 先了解一下如何获取 配置信息里面的内容[获取配置信息推荐使用这个] 1.1 ...

  9. C# 读App.config配置文件[2]: .Net Core框架

    C# 读App.config配置文件[1]:.Net Framework框架 C# 读App.config配置文件[2]: .Net Core框架 网上都是.net framework读取配置文件的方 ...

随机推荐

  1. Qt5:窗口各类位置

    在Qt程序中获取窗口位置的函数有  geometry()   ,   frameGeometry()  , pos() ,x() , y()等 下面来看看这些函数的区别 还有另外两个函数 size() ...

  2. TOCContro控件

    TOCControl控件使用的是用伙伴控件中的数据地图,它控制图层是否在伙伴控件空显示以及和伙伴控件在符号上保持一致,TOCControl为用户提供了一个交互式的环境,如果TOCControl控件的伙 ...

  3. Java虚拟机中的内存分配

    java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途以及创建和销毁的时间. 栈:存放的是局部变量,包括:1.用来保存基本数据类型的值:2.保存类 ...

  4. 微信小程序开发入门教程

    做任何程序开发要首先找到其官方文档,微信小程序目前还在邀请内测阶段,目前官方放出了部分开发文档,经过笔者一天的查看和尝试,感觉文档并不全面,但是通过这些文档已经能够看出其大概面貌了.闲话不多说,我们先 ...

  5. Struts2---OGNL表达式和EL表达式

    在action里放入actioncontext的变量值 ActionContext.getContext().put("forumList", forumList); 在jsp里如 ...

  6. php 中的全局变量的理解

    $GLOBALS 是php中的一个全局变量的数组. $GLOBALS['var1']  代表的是 外部的全局变量 $var1 本身.global $var是外部$var的同名引用或者指针 例1: &l ...

  7. NSURL 子串截取

    NSURL *url = [NSURL URLWithString:@"http://reg.email.163.com/unireg/call.do?cmd=register.entran ...

  8. Linux下mysql数据库的命令

    连接数据库命令:mysql -u 用户名 -p 密码 要求你输入要连接数据库的用户名和密码.用户名默认root密码不方便输入时,可以只输入:mysql -u 用户名 -p 然后回车,此时提示你输入密码 ...

  9. ubuntu下如何安装和卸载wine-qq

    1.安装wine 按ctrl+alter+T打开终端输入以下两条命令 sudo apt-get update sudo apt-get install wine 安装时间有点长,请耐心的等候 2.按钮 ...

  10. IOS数据库FMDB增、删、改、查的使用【原创】

    http://blog.it985.com/13588.html IOS数据库FMDB增.删.改.查的使用[原创] FMDB是一个XCODE的中一个轻量级的数据库,用于将网络资源存储在本地.所以,FM ...