91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# 讀寫 INI 文件的最簡方法

admin
2025年5月23日 12:2 本文熱度 99

一、前言

INI文件,全稱為Initialization File(初始化文件),是一種傳統的文本型配置文件格式,廣泛應用于Windows操作系統及早期應用程序中,用于存儲軟件的各項設置和參數。

盡管開發中XML、JSON或更現代的配置格式如YAML等逐漸占據主流,但INI文件憑借其簡潔明了的結構和易于人類閱讀與編輯的特點,在特定場景下仍然具有不可替代的價值。

本文將聚焦于C#語言環境下,介紹如何以最簡化的方式實現INI文件的讀寫操作。

二、INI文件基礎

INI文件采用鍵值對(key-value pairs)的形式組織數據,并將其劃分為若干個邏輯段落(sections)。

其基本結構如下:

; 注釋行(以分號開始)

[Section1]     ; 段落名,用方括號包圍
key1 = value1   ; 鍵值對,等號分隔鍵與值
key2 = value2

[Section2]
keyA = valueA
keyB = valueB

其中:

注釋:以分號(;)開頭的行被視為注釋,用于解釋文件中的設置。

段落(Section):用方括號([])包裹的名稱標識一個特定的配置區域,用于分類相關設置。

鍵(Key):在每個段落內定義的唯一標識符,用于表示特定的配置項。

值(Value):與鍵關聯的數據,可以是字符串、數字或其他簡單文本表示的信息。

三、C#讀寫INI文件的最簡方法

在C#中,雖然.NET框架并未直接提供對INI文件的內置支持,但可以通過以下兩種簡便途徑實現INI文件的讀寫:

1、使用Microsoft.VisualBasic命名空間提供的API

盡管名為Visual Basic,但此命名空間中的類庫在C#中同樣可用。

其中包含了對INI文件操作的便捷方法,無需額外引入外部庫或編寫復雜的P/Invoke代碼。

以下是最簡示例:

using Microsoft.VisualBasic.FileIO;

// 讀取INI文件
public string ReadIniValue(string section, string key, string filePath)
{
    return IniParser.ReadKeyValue(filePath, section, key, "");
}

// 寫入INI文件
public void WriteIniValue(string section, string key, string valuestring filePath)
{
    IniParser.WriteKeyValue(filePath, section, key, value);
}

// 定義輔助類
internal static class IniParser
{
    [DllImport("kernel32")]
    private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
    [DllImport("kernel32")]
    private static extern int WritePrivateProfileString(string section, string key, string val, string filePath);

    internal static string ReadKeyValue(string iniPath, string section, string key, string defaultValue)
    {
        const int MAX_BUFFER = 65535;
        var sb = new StringBuilder(MAX_BUFFER);
        GetPrivateProfileString(section, key, defaultValue, sb, MAX_BUFFER, iniPath);
        return sb.ToString();
    }

    internal static void WriteKeyValue(string iniPath, string section, string key, string value)
    {
        WritePrivateProfileString(section, key, value, iniPath);
    }
}

2、利用第三方庫

若希望避免直接調用Win32 API,或者尋求更豐富的功能和更好的錯誤處理,可以選用成熟的第三方庫,如IniFileParser或Nini等。

這些庫提供了面向對象的接口,簡化了INI文件的操作。

以下是一個使用IniFileParser庫的簡例:

using IniParser;
using IniParser.Model;

// 讀取INI文件
public string ReadIniValue(string section, string key, string filePath)
{
    var parser = new FileIniDataParser();
    IniData data = parser.ReadFile(filePath);
    return data[section][key];
}

// 寫入INI文件
public void WriteIniValue(string section, string key, string valuestring filePath)
{
    var parser = new FileIniDataParser();
    IniData data = parser.ReadFile(filePath);
    data[section][key] = value;
    parser.WriteFile(filePath, data);
}

四、結語

盡管INI文件并非現代應用程序首選的配置格式,但在特定需求下,尤其是對于輕量級、跨平臺要求不高的項目,其簡潔性仍使其成為一個可行的選擇。

C#開發可通過使用Microsoft.VisualBasic命名空間提供的API或第三方庫,以最簡化的代碼實現INI文件的讀寫操作。

這兩種方法均能有效滿足基本的INI文件處理需求,可根據項目的具體需求和偏好選擇合適的方法。

作者:DotNet開發跳槽

出處:mp.weixin.qq.com/s/NLt-C3wtPT2HFc39mlbQVA


該文章在 2025/5/23 12:02:31 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 日本不卡a | 日韩欧美中文 | 中文字幕在线看片 | 18精品 | 国产在线不卡播放 | 欧美午夜高清在线 | 日本精品一卡高清 | www成人精品 | 日韩国产欧 | 欧美日韩国产码高清 | 国产全部理论 | 日本中文字幕网址 | 国产粗口| 日韩伦理午夜福利 | 国产综合一区 | 欧美在线免费看 | 日韩亚洲国 | 国产老熟 | 人在线成视频 | 理论片在人线免费 | 91福利免费观看 | 国产阿v在线观 | 欧洲高清视频在线 | 精品午夜一区 | 日韩欧美国产综合 | 国产自在线 | 精品中文字幕 | 国自产拍在线视频天 | 欧美在线性爱国产 | 91免费视频在线看 | 欧美最猛性xxxx | 日韩欧美一区 | 99热在线播放 | 国产精品思思在线 | 日韩视频中文字暮 | 日本亚洲精品视频 | 国产精品自在拍在 | 国产青青操 | 欧美亚欧日韩 | 国产伦理一区二区 | 日本特黄特大视频 |