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文件的使用,本文就介绍这么多,希望对您有所帮助,谢谢!

最新文章

  1. qemu 源码调试
  2. java POI 解析excel 2003和2007 直接转为List&lt;Map&gt; 返回
  3. IOS开发中常用一下方法
  4. 子Div使用Float后如何撑开父Div
  5. Spark SQL External Data Sources JDBC简易实现
  6. hdu 1010 dfs搜索
  7. vxworks获取系统时间编程
  8. NULL、空指针,&rsquo;\0&rsquo;,0的去区别
  9. 小记css的margin collapsing
  10. 洛谷 P3674 小清新人渣的本愿 [莫队 bitset]
  11. 通过smtp直接发送邮件
  12. 分析easyswoole3.0源码,服务启动为例(二)
  13. centos查看系统版本
  14. ODAC(V9.5.15) 学习笔记(一)总论
  15. oracle表或视图不存在和标识符无效的问题解决
  16. spring-如何将spring源码成功导入Eclipse中
  17. 20155211 网络攻防技术 Exp08 Web基础
  18. 【洛谷P1828】香甜的黄油
  19. CentOS7搭建elasticsearch集群
  20. (zxing.net)一维码EAN 13的简介、实现与解码

热门文章

  1. sql server 行转列 Pivot UnPivot
  2. sitemap制作
  3. 关于css的伪类和伪元素
  4. 水流(water)
  5. codeforce 611B New Year and Old Property
  6. asp.net mvc 文件压缩下载
  7. Linux iptables 防火墙详解
  8. 如何编译生成 dll
  9. FragmentTabHost+FrameLayout实现底部菜单栏
  10. html5 js控制音乐播放