前言:
用C#读写ini文件,网上千篇一律的都是去调用Windows API函数,这让强大的LINQ情何以堪。
现在配置文件已经流行使用XML格式,但对于界面语言,我还是偏爱使用ini文件来支持多国语言。
开发工具:
Visual Studio v2010
.NET Framework 4 Client Profile
版本历史:
V1.0 2011年06月30日
- 基于LINQ实现对ini文件的读写。
下载地址:
url:http://greatverve.cnblogs.com/archive/2011/07/04/linq-ini.html
源代码:
LINQToINI.cs
/* ----------------------------------------------------------
- 文件名称:LINQToINI.cs
- 作者:秦建辉
- MSN:splashcn@msn.com
- QQ:36748897
- 开发环境:
- Visual Studio V2010
- .NET Framework 4 Client Profile
- 版本历史:
- V1.0 2011年06月30日
- 基于LINQ实现对ini文件的读写
- ------------------------------------------------------------ */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.IO;
- namespace Splash
- {
- /// <summary>
- /// 基于LINQ实现对ini文件的读写
- /// </summary>
- public class LINQToINI
- {
- /// <summary>
- /// ini文件内容结点结构
- /// </summary>
- private struct ININode
- {
- /// <summary>
- /// 分区名
- /// </summary>
- public String section;
- /// <summary>
- /// 键名
- /// </summary>
- public String keyName;
- /// <summary>
- /// 键值
- /// </summary>
- public String keyValue;
- }
- /// <summary>
- /// ini文件内容结点列表
- /// </summary>
- private List<ININode> INIElement = null;
- /// <summary>
- /// 读取ini文件并序列化,以供LINQ查询
- /// </summary>
- /// <param name="iniFile">ini文件名</param>
- /// <param name="isQueryOnly">是否只做查询操作。缺省为true</param>
- /// <param name="fileEncoding">文件编码,缺省为null,使用Unicode编码</param>
- /// <returns>
- /// true:成功
- /// false:失败
- /// </returns>
- /// <remarks>