App.config是C#開發WinForm程序的配置文件,開發Web程序的配置文件叫Web.config。本文介紹App.config的簡介使用。
我們先來打開一個App.config文件,看看它的內容像什么樣子。
<?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這個程序配置文件中獲取配置信息。
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文件的使用,本文就介紹這么多,希望對您有所幫助,謝謝!
新聞熱點
疑難解答