C#中讀取App.config配置文件代碼實(shí)例
App.config是C#開發(fā)WinForm程序的配置文件,開發(fā)Web程序的配置文件叫Web.config。本文介紹App.config的簡(jiǎn)介使用。
我們先來打開一個(gè)App.config文件,看看它的內(nèi)容像什么樣子。
<?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文檔。它有如下幾個(gè)特點(diǎn)。
1、它有一個(gè)<configuration>標(biāo)簽,所有的配置項(xiàng)都在<configuration>標(biāo)簽下面。
2、C#內(nèi)置了一個(gè)<connectionStrings>節(jié)點(diǎn),專門用于配置數(shù)據(jù)庫連接字符串。它下面可以使用<Add>節(jié)點(diǎn)來添加多個(gè)數(shù)據(jù)庫連接字符串。
3、<appSettings>,大家了解Web.config的應(yīng)該很熟悉它,它可以配置任何key-value這樣的鍵值對(duì)。最早沒有<connectionStrings>的時(shí)候,我們也是把數(shù)據(jù)庫連接的字符串放在<appSettings>里面的。
下面我們寫一個(gè)程序來看看怎么從App.config這個(gè)程序配置文件中獲取配置信息。
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是一個(gè)ConnectionStringSettingsCollection對(duì)象 // 按數(shù)字循環(huán)得到一個(gè)個(gè)ConnectionStringSettings對(duì)象 // 每個(gè)ConnectionStringSettings對(duì)象有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類型來進(jìn)行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返回一個(gè)所有Key組成的字符串?dāng)?shù)組 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這樣的對(duì)象,所以無法使用foreach來進(jìn)行循環(huán) //直接獲取key1的值 Console.WriteLine("\r\nGet the value of the key named \"key1\":"); Console.WriteLine(ConfigurationManager.AppSettings["key1"]); //pause the process Console.ReadKey(); } } }
上面演示了如何遍歷<connectionStrings>,如何遍歷<appSettings>,如何單獨(dú)獲取某一個(gè)connectionString,如何單獨(dú)獲取某個(gè)appSetting。大家可以收藏一下,以便以后使用時(shí)參考。
App.config和Web.config的語法格式是完全一樣的,只是一個(gè)用戶WinForm程序,一個(gè)用于Web程序。
App.config在編譯之后,將會(huì)被編譯到bin\Debug目錄下,文件名為“應(yīng)用程序名.exe.config”。
關(guān)于C#中App.config文件的使用,本文就介紹這么多,希望對(duì)您有所幫助,謝謝!
相關(guān)文章
C# MVC模式中應(yīng)該怎樣區(qū)分應(yīng)用程序邏輯(Controller層)和業(yè)務(wù)邏輯(Model層)?
這篇文章主要介紹了C# MVC模式中應(yīng)該怎樣區(qū)分應(yīng)用程序邏輯(Controller層)和業(yè)務(wù)邏輯(Model層)?,這也小編做.NET項(xiàng)目時(shí)經(jīng)常思考和讓人混亂的一個(gè)問題,這篇文章寫的挺好,一下清晰了許多,需要的朋友可以參考下2015-06-06C# Dynamic關(guān)鍵字之:解析dynamic就是Object
本篇文章是對(duì)C#中dynamic關(guān)鍵字就是Object進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C#類型轉(zhuǎn)換之自定義隱式轉(zhuǎn)換和顯式轉(zhuǎn)換
本文主要為大家介紹了一個(gè)新的類型轉(zhuǎn)換方法:通過自定義隱式轉(zhuǎn)換,把不一樣的數(shù)據(jù)類型反序列化為一樣的數(shù)據(jù)類型,需要的同學(xué)可以參考一下2022-03-03C#中Winform 實(shí)現(xiàn)Ajax效果自定義按鈕
這篇文章主要介紹了C#中Winform 實(shí)現(xiàn)Ajax效果自定義按鈕的相關(guān)資料,需要的朋友可以參考下2017-12-12webBrowser執(zhí)行js的方法,并返回值,c#后臺(tái)取值的實(shí)現(xiàn)
下面小編就為大家?guī)硪黄獁ebBrowser執(zhí)行js的方法,并返回值,c#后臺(tái)取值的實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12解析從源碼分析常見的基于Array的數(shù)據(jù)結(jié)構(gòu)動(dòng)態(tài)擴(kuò)容機(jī)制的詳解
本篇文章是對(duì)從源碼分析常見的基于Array的數(shù)據(jù)結(jié)構(gòu)動(dòng)態(tài)擴(kuò)容機(jī)制進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C# WinForm調(diào)用Shell_NotifyIcon的示例代碼
這篇文章主要介紹了C# WinForm調(diào)用Shell_NotifyIcon的示例代碼,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2020-11-11