程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> .NET之如何獲取App.config配置文件中的參數值,.netapp.config

.NET之如何獲取App.config配置文件中的參數值,.netapp.config

編輯:C#入門知識

.NET之如何獲取App.config配置文件中的參數值,.netapp.config


  • 首先的添加System.Configuration引用
  • 類文件中必須有 using System.Configuration;
  • App.config添加
  • 向App.config配置文件添加參數

  例子:

  在這個App.config配置文件中,我添加了4個參數,App.config參數類似HashTable都是鍵/值對

<?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配置文件中的參數值呢?

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的代碼如下:

        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的方法:

        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即可。

  代碼如下:

        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();
        }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved