ini (ini-parser)配置文件解析 for donet
本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/6593538.html
介绍#
此ini解析库适用于mono(unity3d),donet,大小在30kb左右。
开源免费:https://github.com/rickyah/ini-parser
使用示例#
engine_config.ini 配置文件内容如下
[Engine] : product real path ProductRelPath = ../Product AssetBundleBuildRelPath = ../Product/Bundles StreamingBundlesFolderName = Bundles AssetBundleExt = .bytes IsLoadAssetBundle = 1
使用方法如下
using System; using IniParser.Model; using IniParser.Model.Formatting; using IniParser.Parser; public class EngineConfigs { private readonly IniData _iniData; public EngineConfigs(string iniconfig) { var parser = new IniDataParser(); _iniData = parser.Parse(iniconfig); } /// <summary> /// GetConfig from section /// </summary> /// <param name="section"></param> /// <param name="key"></param> /// <param name="throwError">whether or not throw error when get no config</param> /// <returns></returns> public string GetConfig(string section, string key, bool throwError = true) { var sectionData = _iniData[section]; if (sectionData == null) { if (throwError) throw new Exception("Not found section from ini config: " + section); return null; } var value = sectionData[key]; if (value == null) { if (throwError) throw new Exception(string.Format("Not found section:`{0}`, key:`{1}` config", section, key)); } return value; } } public class IniParseDemo { public void Main() { EngineConfigs engineConfigs = new EngineConfigs("xxx"); //此处返回 ../Product var productRelPath = engineConfigs.GetConfig("Engine", "ProductRelPath"); } }
注意事项
IniDataParser.Parse(iniconfig);
iniconfig是具体的内容,而不是某个ini文件
其它
示例:https://github.com/zhaoqingqing/blog_samplecode/tree/master/unity_helper/iniparser
或者参照 KEngine中的AppEngine使用:https://github.com/mr-kelly/KEngine/blob/3351991a9eb7593a53a6070eddff5dd912fc6d7a/KEngine.UnityProject/Assets/KEngine/AppEngine.cs
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 易语言 —— 开山篇
· Trae初体验