首页
/ INI File Parser 技术文档

INI File Parser 技术文档

2024-12-28 09:06:44作者:胡易黎Nicole

以下为INI File Parser项目的详细技术文档,包括安装指南、使用说明以及API使用文档。

1. 安装指南

INI File Parser库可通过以下方式安装:

  • 使用NuGet命令行工具:

    > nuget install ini-parser
    
  • 在Visual Studio的包管理器控制台中安装:

    PM> Install-Package ini-parser
    
  • 如果使用Visual Studio,可以下载NuGet包管理器扩展来为项目添加NuGet依赖。

  • 如果使用MonoDevelop / Xamarin Studio,可以安装MonoDevelop NuGet AddIn以从IDE中添加库依赖。

2. 项目的使用说明

在所有代码示例中,都需要添加以下命名空间:

using IniParser;
using IniParser.Model;

INI数据存储在嵌套的字典中,因此访问一个节内的键对应的值非常直接。使用提供的方法之一加载数据。

var parser = new FileIniDataParser();
IniData data = parser.ReadFile("Configuration.ini");

从命名的节中检索键的值。值总是作为string类型检索。

string useFullScreenStr = data["UI"]["fullscreen"];
// useFullScreenStr 包含 "true"
bool useFullScreen = bool.Parse(useFullScreenStr);

在字典中修改值(而不是检索到的值),然后保存到新文件或覆盖。

data["UI"]["fullscreen"] = "true";
parser.WriteFile("Configuration.ini", data);

更多使用示例,请参考项目的wiki

3. 项目API使用文档

合并INI文件

合并INI文件是一个单一方法操作:

var parser = new IniParser.Parser.IniDataParser();

IniData config = parser.Parse(File.ReadAllText("global_config.ini"));
IniData user_config = parser.Parse(File.ReadAllText("user_config.ini"));
config.Merge(user_config);

现在config包含了两个INI文件的数据,并且键和节的值被用户配置文件中的值覆盖。

也可以只合并单个节:

config["user_settings"].Merge(user_config["user_settings"]);

注释

库允许修改INI文件中的注释。但是请注意,将文件写回磁盘时,注释会被重新排列,以便注释位于它们所指元素的之前。

要查询、添加或删除注释,可以访问SectionDataKeyData模型中可用的Comments属性。

var listOfCommentsForSection = config["user_settings"].Comments;
var listOfCommentsForKey = config["user_settings"].GetKeyData("resolution").Comments;

Unity3D

你可以在Unity3D项目中轻松使用此库。只需将代码或DLL放入项目Assets文件夹中即可。

INI-parser实际上被用于ProjectPrefs,这是一个可在Unity资产商店中免费获取的插件,允许你为项目设置自定义首选项。我与该项目无关:感谢Garrafote创建了这个插件。

4. 项目安装方式

请参考上述安装指南部分获取项目安装方式。

热门项目推荐
相关项目推荐

项目优选

收起
Python-100-DaysPython-100-Days
Python - 100天从新手到大师
Python
373
72
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
276
72
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
200
47
xzs-mysqlxzs-mysql
学之思开源考试系统是一款 java + vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。支持web端和微信小程序,能覆盖到pc机和手机等设备。 支持多种部署方式:集成部署、前后端分离部署、docker部署
HTML
5
1
LangChatLangChat
LangChat: Java LLMs/AI Project, Supports Multi AI Providers( Gitee AI/ 智谱清言 / 阿里通义 / 百度千帆 / DeepSeek / 抖音豆包 / 零一万物 / 讯飞星火 / OpenAI / Gemini / Ollama / Azure / Claude 等大模型), Java生态下AI大模型产品解决方案,快速构建企业级AI知识库、AI机器人应用
Java
11
3
gin-vue-admingin-vue-admin
🚀Vite+Vue3+Gin的开发基础平台,支持TS和JS混用。它集成了JWT鉴权、权限管理、动态路由、显隐可控组件、分页封装、多点登录拦截、资源权限、上传下载、代码生成器【可AI辅助】、表单生成器和可配置的导入导出等开发必备功能。
Go
16
3
source-vuesource-vue
🔥 一直想做一款追求极致用户体验的快速开发平台,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间对若依框架进行扩展写了一套快速开发系统。如此有了开源字节快速开发平台。该平台基于 Spring Boot + MyBatis + Vue & Element ,包含微信小程序 & Uniapp, Web 报表、可视化大屏、三方登录、支付、短信、邮件、OSS...
Java
24
2
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
898
0
madongmadong
基于Webman的权限管理系统
PHP
4
0
cool-admin-javacool-admin-java
🔥 cool-admin(java版)一个很酷的后台权限管理框架,Ai编码、流程编排、模块化、插件化、CRUD极速开发,永久开源免费,基于springboot3、typescript、vue3、vite、element-ui等构建
Java
18
2