SharpConfig是.NET平台一個使用非常簡單的處理Cfg/ini配置檔案的類庫。
1.支援的配置檔案類型有cfg,ini格式;
2.支援注釋功能,使用 # 符号開頭;
3.支援直接讀取和寫入指定節點的值;
4.支援枚舉,數組,以及和實體的直接映射;
5.支援記憶體的建立和使用,相對一個配置類型,直接在代碼中初始化和使用;
下面通過一個簡單的Demo來大概知道如何使用。下載下傳後,解壓,建立項目,添加dll引用,需要添加命名空間:
我們添加一個如下格式的檔案,檔案名稱為:example.ini,這個檔案可以手動建立放在項目中,設定屬性:“始終複制”即可,或者自己手動複制到bin目錄也行。友善調用,放在其他路徑也可以,最終都是fileName的路徑來找檔案的。example.ini的内容如下,這個例子也是項目首頁的例子,我稍微修改了下:
[General] #這代表Section,也就是節點 SomeString = Hello SharpConfig! SomeInteger = 10 #這裡也是注釋 SomeFloat = 20.05 ABoolean = true
下面使用代碼直接讀取這個配置檔案的值:
結果如下:

儲存配置檔案有以下一些方法:
是不是很簡單,速度也很快。下面看看其他功能的使用。上面隻是一個最基本的使用例子。
枚舉類型的支援其實和上面的值類型差不多,也是直接使用泛型的類型參數類擷取枚舉,而數組是相對特殊一點的,是以單獨拿出來給大家介紹。
假設有一個Section名稱為DateInfo,項目的Day有一個Monday值,是枚舉類型DayOfWeek的一個值。如下面所示:
[DateInfo]
Day = Monday
調用的時候,使用一個枚舉類型DayOfWeek 來讀取:
數組類型的支援,首先是統一轉換為object數組,然後根據自己的需求要手動轉換,其實可以寫一個擴充方法,很簡單,就不展開了。例如下面有一個節的項目是:
[General]
MyArray = {0,2,5,6}
讀取的方法為:
動态在記憶體中建立配置檔案,其實就是把Configuration當作一個實體類一樣,在代碼中建立和使用。例如下面的代碼:
結果如下:
這種情況在以前使用XCode元件時用的比較多。不過SharpConfig也支援,挺好用的。相當于把實體類的字段和配置檔案對應起來,可以更加友善使用。類型和配置檔案映射後,可以直接操作對象了。不需要上面那些步驟。假設有一個Person對象,如下格式:
Gender是一個性别的枚舉類型,如下所示:
假設配置檔案是這樣儲存的:
[Person]
Name = Peter
Age = 50
Gender = Male
在實際使用的時候,使用下面的代碼即可:
當然也可以将config["Person"]節直接映射對一個已經存在的對象,會直接覆寫原來的值。如下面代碼:
我在這裡提供一個下載下傳,以及我使用的案例Demo例子。官方提供了一個Winform的圖形界面,非常直覺,這裡截圖看看,如果大家要用,從我這裡下載下傳也可以。
Winform顯示配置檔案的圖形界面