现在的位置: 首页 > 综合 > 正文

C#使用Linq读写ini文件

2012年10月16日 ⁄ 综合 ⁄ 共 1892字 ⁄ 字号 评论关闭

前言:

用C#读写ini文件,网上千篇一律的都是去调用Windows API函数,这让强大的LINQ情何以堪。

现在配置文件已经流行使用XML格式,但对于界面语言,我还是偏爱使用ini文件来支持多国语言。

开发工具:

Visual Studio v2010

.NET Framework 4 Client Profile

版本历史:

V1.0    2011年06月30日

  • 基于LINQ实现对ini文件的读写。

下载地址:

 http://files.cnblogs.com/greatverve/LINQToINI.zip

url:http://greatverve.cnblogs.com/archive/2011/07/04/linq-ini.html
源代码:

LINQToINI.cs

/* ---------------------------------------------------------- 
  1. 文件名称:LINQToINI.cs 
  2.  
  3. 作者:秦建辉 
  4.  
  5. MSN:splashcn@msn.com 
  6. QQ:36748897 
  7.  
  8. 开发环境: 
  9.     Visual Studio V2010 
  10.     .NET Framework 4 Client Profile 
  11.  
  12. 版本历史: 
  13.     V1.0    2011年06月30日 
  14.             基于LINQ实现对ini文件的读写 
  15. ------------------------------------------------------------ */  
  16. using System;  
  17. using System.Collections.Generic;  
  18. using System.Linq;  
  19. using System.Text;  
  20. using System.IO;  
  21.   
  22. namespace Splash  
  23. {  
  24.     /// <summary>  
  25.     /// 基于LINQ实现对ini文件的读写  
  26.     /// </summary>  
  27.     public class LINQToINI  
  28.     {  
  29.         /// <summary>  
  30.         /// ini文件内容结点结构  
  31.         /// </summary>  
  32.         private struct ININode  
  33.         {  
  34.             /// <summary>  
  35.             /// 分区名  
  36.             /// </summary>  
  37.             public String section;  
  38.   
  39.             /// <summary>  
  40.             /// 键名  
  41.             /// </summary>  
  42.             public String keyName;  
  43.   
  44.             /// <summary>  
  45.             /// 键值  
  46.             /// </summary>  
  47.             public String keyValue;  
  48.         }  
  49.           
  50.         /// <summary>  
  51.         /// ini文件内容结点列表  
  52.         /// </summary>  
  53.         private List<ININode> INIElement = null;                      
  54.           
  55.         /// <summary>  
  56.         /// 读取ini文件并序列化,以供LINQ查询  
  57.         /// </summary>  
  58.         /// <param name="iniFile">ini文件名</param>  
  59.         /// <param name="isQueryOnly">是否只做查询操作。缺省为true</param>  
  60.         /// <param name="fileEncoding">文件编码,缺省为null,使用Unicode编码</param>  
  61.         /// <returns>  
  62.         ///     true:成功  
  63.         ///     false:失败  
  64.         /// </returns>       
  65.         /// <remarks>
【上篇】
【下篇】

抱歉!评论已关闭.