久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

.NET配置文件操作(ini,xml,config)

 風(fēng)聲之家 2022-07-06 發(fā)布于江蘇

.NET配置文件操作(ini,xml,config)

CSharp編程大全 2022-07-04 07:40 發(fā)表于上海

以下文章來源于老王技術(shù)分享 ,,作者jqwang

老王技術(shù)分享

前端技術(shù)分享

在程序開發(fā)過程中,,我們一般會用到配置文件來設(shè)定一些參數(shù),。常見的配置文件格式為 inixmlconfig等,。

INI

.ini文件,,通常為初始化文件,,是用來存儲程序配置信息的文本文件。

[Login]
#開啟加密 0:不開啟,、1:開啟
open_ssl_certificate=0

.NET 框架本身不支持 INI 文件,,可以利用 Windows API方法使用平臺調(diào)用服務(wù)來寫入和讀取文件。

// 要寫入的部分名稱 - sectionName
// 要設(shè)置的鍵名 - key
// 要設(shè)置的值 - value
// INI文件位置 - filepath
// 讀取是否成功 - result
[DllImport("kernel32")]
bool WritePrivateProfileString(string sectionName,string key,string value,string filepath);

// 要讀取的部分名稱 - sectionName
// 要讀取的鍵名 - key
// 如果鍵不存在返回的默認(rèn)值 - default
// 接收用作緩沖區(qū)的字符串 - ReturnedVal
// 實(shí)際讀取的值 - maxsize
// INI文件位置 - filepath
[DllImport("kernel32")]
int GetPrivateProfileString(string sectionName,string key,string default,StringBuilder ReturnedVal,int maxsize,string filepath);

一般會封裝一個類來調(diào)用該API方法,。

碼農(nóng)人生

技術(shù)文通俗易懂,,人和代碼,有一個能跑就行

4篇原創(chuàng)內(nèi)容

公眾號

public class ReadWriteINIFile{
    ...
    public void WriteINI(string name, string key, string value)
    {
        WritePrivateProfileString(name, key, value, _path);
    }

    public string ReadINI(string name, string key)
    {
        StringBuilder sb = new StringBuilder(255);
        int ini = GetPrivateProfileString(name, key, "", sb, 255, _path);
        return sb.ToString();
    }
}

CFG

SharpConfig 是 .NET 的CFG/INI 配置文件操作組件,,以文本或二進(jìn)制格式讀取,,修改和保存配置文件和流。

Configuration config = Configuration.LoadFromFile("login.cfg");
Section section = config["Login"];
// 讀取參數(shù)
bool isOpen = section["open_ssl_certificate"].GetValue<bool>();
// 修改參數(shù)
section["open_ssl_certificate"].Value = false;

Config

在 App.config/web.config 文件中的 configSections 節(jié)點(diǎn)下配置 section 節(jié)點(diǎn),,.NET 提供自帶的類型進(jìn)行封裝,。 configSections節(jié)點(diǎn)必須為configuration下第一個節(jié)點(diǎn)

NameValue鍵值對

<?xml version="1.0" encoding="utf-8" ?>
<configuration> 
    <configSections>  
        <!--以NameValueCollection鍵值對的形式返回配置節(jié)點(diǎn)中的信息,,type值固定為System.Configuration.NameValueSectionHandler-->  
            <section name="NameValueConfigNode" type="System.Configuration.NameValueSectionHandler"/> 
    </configSections> 
    <!--自定義配置節(jié)點(diǎn)--> 
    <NameValueConfigNode>  
        <add key="Name一" value="Value一" />  
        <add key="Name二" value="Value二" />  
    </NameValueConfigNode>    
    <startup>         
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />    
    </startup>
</configuration>

定義一個靜態(tài)屬性的方法獲取 Dictionary 格式的數(shù)據(jù):

/// <summary>
/// NameValueCollection
/// </summary>
public static Dictionary<stringstring> NameValueConfigNode
{
    get
    {
        NameValueCollection nvc = (NameValueCollection)ConfigurationManager.GetSection("NameValueConfigNode");
        Dictionary<stringstring> result = new Dictionary<string,string>();
         foreach (string key in nvc.AllKeys)
        { 
            result.Add(key, nvc[key]);
        }
        return result;
    }
}

Dictionary

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <!--以Dictionary字典的形式返回配置節(jié)點(diǎn)中的信息,,type固定為System.Configuration.DictionarySectionHandler-->
        <section name="DictionaryConfigNode" type="System.Configuration.DictionarySectionHandler"/>
    </configSections>
    <!--自定義配置節(jié)點(diǎn)-->
    <DictionaryConfigNode>
        <add key="Key一" value="DictValue一" />
        <add key="Key二" value="DictValue二" />
    </DictionaryConfigNode>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
    </startup>
</configuration>
/// <summary>
/// Dictionary
/// </summary>
public static Dictionary<stringstring> DictionaryConfigNode
{
    get
    {
        IDictionary dict = (IDictionary)ConfigurationManager.GetSection("DictionaryConfigNode");
        Dictionary<stringstring> result = new Dictionary<stringstring>();
        foreach (string key in dict.Keys)
        {
            result.Add(key, dict[key].ToString());
        }
        return result;
    }
}

SingTag

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <!--基礎(chǔ)結(jié)構(gòu)處理 .config 文件中由單個 XML 標(biāo)記所表示的各配置節(jié)點(diǎn)中的值,type固定為System.Configuration.SingleTagSectionHandler-->
        <section name="SingleTagConfigNode" type="System.Configuration.SingleTagSectionHandler" />
    </configSections>
    <!--自定義配置節(jié)點(diǎn)-->
    <!--注意,,只能是單個節(jié)SingleTagSectionHandler才能處理,,無論有多少個屬性都能處理-->
    <SingleTagConfigNode PropertyOne="1" PropertyTwo="2" PropertyThree="3" PropertyFour="4" PropertyFive="5" />
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
    </startup>
</configuration>
/// <summary>
/// SingleTag
/// </summary>
public static Dictionary<stringstring> SingleTagConfigNode
{
    get
    {
        Hashtable dict = (Hashtable)ConfigurationManager.GetSection("SingleTagConfigNode");
        Dictionary<stringstring> result = new Dictionary<stringstring>();
        foreach (string key in dict.Keys)
        {
            result.Add(key, dict[key].ToString());
        }
        return result;
    }
}

自定義配置文件

如果配置文件很多,可以單獨(dú)定義配置文件,,然后在 App.config/Web.config 文件中聲明,。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <!--把MyConfigData1節(jié)點(diǎn)的數(shù)據(jù)映射到MyConfigData類中-->
        <section name="MyConfigData1" type="ConsoleApplication.ConfigFiles.ConfigFile,ConsoleApplication"/>
    </configSections>
    <!--自定義配置節(jié)點(diǎn),configSource指定自定義配置文件的路徑(必須是相對路徑)-->
    <MyConfigData configSource="ConfigFiles\MyConfigFile.config"/>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
    </startup>
</configuration>

自定義文件 MyConfigFile.config 內(nèi)容:

<?xml version="1.0" encoding="utf-8" ?>
<MyConfigData>
    <add key="Key一" value="自定義文件一" />
    <add key="Key二" value="自定義文件二" />
    <add key="Key三" value="自定義文件三" />
</MyConfigData>

XML

XML文件常用于簡化數(shù)據(jù)的存儲和共享,,它的設(shè)計宗旨是傳輸數(shù)據(jù),,而非顯示數(shù)據(jù),。對于復(fù)雜不規(guī)則的配置信息也可以用XML文件進(jìn)行存儲。

// 讀取文件
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("myfile.xml");
// 根節(jié)點(diǎn)
var nodeRoot = xmlDoc.DocumentElement;
// 創(chuàng)建新節(jié)點(diǎn)
XmlElement studentNode = xmlDoc.CreateElement("student");
// 創(chuàng)建新節(jié)點(diǎn)的孩子節(jié)點(diǎn)
XmlElement nameNode = xmlDoc.CreateElement("name");
// 建立父子關(guān)系
studentNode.AppendChild(nameNode);
nodeRoot.AppendChild(studentNode);

XML基礎(chǔ)教程:https://www.w3school.com.cn/xml/index.asp

技術(shù)群:添加小編微信并備注進(jìn)群
小編微信:mm1552923   
公眾號:dotNet編程大全    

確定

  • 不看此公眾號

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多