【CSharp 学习笔记】关于ini文件的操作
来源:互联网 发布:windows 7虚拟机设置 编辑:程序博客网 时间:2024/06/02 02:19
此篇博客的背景
这几天打算写一个小程序,经常需要用到读取预先设置好的配置项,而每次使用的时候都需要写下许多的代码,不仅有点累,代码有些冗长,而且也不太直观。所以我想,不如将对ini文件的操作封装成一个类,需要使用的时候直接根据路径实例化一个类,然后对其进行操作。
说到这里,我觉得还不够简便,不如更直观一点?我想到了之前我发过的那篇博客①,也许有用武之地了!想到就做,于是花了半个小时,写出来了INIManager类。
##假设有一个配置文件 config.ini[Section]Key=value[Test]TestKey=Hello World!TestINT=32
//举个栗子,实例化一个操作类INIManager ini = new INIManager("./config.ini");//开始对其进行读写//向配置文件中的 Section 节点里的 Key 键写入值 Value,如果已存在则覆写,如果不存在则添加ini["Section"]["Key"] = "Value";//读取ini文件中的配置,这里会输出 ValueDebug.WriteLine(ini["Section"]["Key"]);//这个则会输出 Hello World!Debug.WriteLine(ini["Test"]["TestKey"]);//GetValue是个泛型方法,能够取出一些基本类型,如下将会输出 16Debug.WriteLine(ini["Test"].GetValue<int>("TestINT") / 2);//Section 的 Delect 方法会删除指定的键值对ini["Test"].Delect("TestKey");//不指定键,则清空 Section,该方法不会删除 Section,而是清空所有的键值对ini["Test"].Delect();//Delect方法会清空指定的 Sectionini.Delect("Test");
整个类的结构大概如下:
INIManager(主类)
↓
Section(ini[“Section”]就会返回一个Section类)
编写过程中会遇到一些麻烦,主要就是对于该如何封装,如何实现,有的时候会忽然感觉到迷糊,自己之前为什么要这么写。
一开始定义了三个类,一个INIManager,一个Section,一个Item,后来想想并不需要Item,所以将其去除。
在第一次编写的时候,INIManager和Section都使用了Hashtable,但在第二次编写的时候将Section的Hashtable删除,换成了更底层的,直接与ini文件进行交互的方式。
总结:
想要写点什么,前期准备很重要……一时兴起的话很容易埋下种种隐患。
最后的话:
①:【CSharp 学习笔记】关于使用字符串作为索引值的索引器
我的Github:WiiGenie/Juer.Tools,INIManager的源码就在那里。
第一次用Github呢……总觉得哪里怪怪的._.
阅读全文
0 0
- 【CSharp 学习笔记】关于ini文件的操作
- 【CSharp 学习笔记】关于ManualResetEvent的用法
- VC学习笔记8INI文件操作
- 【CSharp 学习笔记】关于路径的一些小笔记
- 关于C#操作INI文件的总结
- 关于C#操作INI文件的总结
- 关于C#操作INI文件的总结
- MFC 关于ini文件的操作
- 关于C#操作INI文件的总结
- 关于C#操作INI文件的总结
- CVI关于INI文件的操作
- CSharp学习笔记之八 文件的读写
- Ini文件的操作(菜鸟学习总结)
- INI文件的操作
- Ini文件的操作
- ini 文件的操作
- INI 文件的操作
- INI文件的操作
- IOS10友盟集成新浪微博运行出现,WBMFPRSA闪退问题、异常、报线程错误
- Ubuntu下PDF文件转JPG图片
- android studio 汉化 美化 个性化 修改 安卓工作室 2.3.3 最新版
- centos7 mysql数据库安装和配置
- 方正大搞内幕交易,北大为何捂盖子?
- 【CSharp 学习笔记】关于ini文件的操作
- 新建文本文档 (2)
- 怎样解决支持同一元素句柄可以绑定多个监听函数问题?
- 3-巴斯卡三角
- (二)向模块添加组件,管道和服务
- 【简单快速】Win10系统下,安装NumPy函数库
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 解析(五)之更新SQL解析
- Spring-AOP 自动创建代理之AnnotationAwareAspectJAutoProxyCreator
- .NET中各种数据库连接大全