超级简单:使用Ling读取被划定过的文本文件

    你是否遇到过的这样的情况:读划定的文件(CSV或任何类似格式的文件),然后根据一些条件筛选记录(通过检查某些列的值)。

    例如,我们假设data.txt文件包含以下记录

 Name,Age,CityPerson
 1,30,CityAPerson
 2,20,CityBPerson
 3,25,CityBPerson
 4,30,CityAPerson
 5,27,CityA

    如果我们找出CityPerson=CityA,而且age >= 30 的所有记录 ,可以使用LINQ去实现。

 1  string  delimiter  =   " ,; " ;
 2  List < string >  logs  =  (File.ReadAllLines( @" C:\Data.txt " )    
 3  //  leave blank lines    
 4  .Where(line  =>   ! string .IsNullOrEmpty(line))    
 5  //  split line seperated by delimiter    
 6  .Select(line  =>  line.Split(delimiter.ToCharArray(), StringSplitOptions.RemoveEmptyEntries))    
 7  //  compare the third column to find all records from CityA    
 8  .Where(values  =>  values[ 2 ].Equals( " CityA " , StringComparison.CurrentCultureIgnoreCase))    
 9  //  compare the second column to find all records with age more than or equal to 30    
10  .Where(values  =>   int .Parse(values[ 1 ])  >=   30 )    
11  //  join back the splitted values by underscore    
12  .Select(values  =>   string .Join( " _ " , values))    
13  //  find all unique values    
14  .Distinct()    
15  .ToList < string > ());
16  //  convert to list

    呵呵,是不是很简单明了呢!

 



(全文完)


以下为广告部分

您部署的HTTPS网站安全吗?

如果您想看下您的网站HTTPS部署的是否安全,花1分钟时间来 myssl.com 检测以下吧。让您的HTTPS网站变得更安全!

SSL检测评估

快速了解HTTPS网站安全情况。

安全评级(A+、A、A-...)、行业合规检测、证书信息查看、证书链信息以及补完、服务器套件信息、证书兼容性检测等。

SSL证书工具

安装部署SSL证书变得更方便。

SSL证书内容查看、SSL证书格式转换、CSR在线生成、SSL私钥加解密、CAA检测等。

SSL漏洞检测

让服务器远离SSL证书漏洞侵扰

TLS ROBOT漏洞检测、心血漏洞检测、FREAK Attack漏洞检测、SSL Poodle漏洞检测、CCS注入漏洞检测。

转载于:https://www.cnblogs.com/zhuqil/archive/2010/03/22/Using-LINQ-to-read-delimited-text-files.html