获取App.config配置文件中的参数值

时间:2022-05-18 14:18:20

下面通过代码示例给大家展示下,具体内容如下:

首先添加System.Configuration引用
向App.config配置文件添加参数

App.config添加
向App.config配置文件添加参数
  例子:

  在这个App.config配置文件中,我添加了4个参数,App.config参数类似HashTable都是键/值对

 

?
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <appSettings>
 <add key="theDate" value="2015-07-20 16:25"/>
 <add key="theName" value="Alice"/>
 <add key="theType" value="NBA"/>
 <add key="thePrice" value="12500.00"/>
 </appSettings>
</configuration>

  那如何访问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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
 
namespace AppConfigDemo
{
 class Program
 {
  static void Main(string[] args)
  {
   //判断App.config配置文件中是否有Key(非null)
   if (ConfigurationManager.AppSettings.HasKeys())
   {
    //循环遍历出配置文件中的所有的键Key
    foreach (string s in ConfigurationManager.AppSettings)
    {
     Console.WriteLine(s);
    }
   }
   Console.ReadKey();
  }
 }
}

  使用for循环遍历Key的代码如下:


       

?
1
2
3
4
5
6
7
8
9
10
11
12
13
static void Main(string[] args)
 {
  //判断App.config配置文件中是否有Key(非null)
  if (ConfigurationManager.AppSettings.HasKeys())
  {
   //循环遍历出配置文件中的所有的键Key
   for (int i = 0; i < ConfigurationManager.AppSettings.Count; i++)
   {
    Console.WriteLine(ConfigurationManager.AppSettings.GetKey(i));
   }
  }
  Console.ReadKey();
 }

  通过Key访问Value的方法:

       

?
1
2
3
4
5
6
7
8
9
10
11
12
13
static void Main(string[] args)
  {
   //判断App.config配置文件中是否有Key(非null)
   if (ConfigurationManager.AppSettings.HasKeys())
   {
    //获取“theDate”键的Value
    foreach (string s in ConfigurationManager.AppSettings.GetValues("theDate"))
    {
     Console.WriteLine(s);
    }
   }
   Console.ReadKey();
  }

  如果你想获取所有Key的Value集合,那该怎么办呢?

  思路:将所有的Key遍历出后保存在一个容器里(例如:数组),然后用Key匹配找出Value即可。

       

?
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
static void Main(string[] args)
 {
  //判断App.config配置文件中是否有Key(非null)
  if (ConfigurationManager.AppSettings.HasKeys())
  {
   List<string> theKeys = new List<string>(); //保存Key的集合
   List<string> theValues = new List<string>(); //保存Value的集合
   //遍历出所有的Key并添加进theKeys集合
   foreach (string theKey in ConfigurationManager.AppSettings.Keys)
   {
    theKeys.Add(theKey);
   }
   //根据Key遍历出所有的Value并添加进theValues集合
   for (int i = 0; i < theKeys.Count; i++)
   {
    foreach (string theValue in ConfigurationManager.AppSettings.GetValues(theKeys[i]))
    {
     theValues.Add(theValue);
    }
   }
   //验证一下
   Console.WriteLine("*************Key*************");
   foreach (string s in theKeys)
   {
    Console.WriteLine(s);
   }
   Console.WriteLine("************Value************");
   foreach (var item in theValues)
   {
    Console.WriteLine(item);
   }
  }
  Console.ReadKey();
 }

获取App.config配置文件中的参数值

以上代码就是使用.net技术获取app.config配置文件中的参数值的例子,有需要的朋友可以参考下。