您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> asp.net编程 >> 正文

使用linq读取分隔符文本文件

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 有时我们会处理一些带分隔符数据文本文件。例如,使用”,”分隔的数据,下面介绍下使用linq读取分隔符文本文件的方法

如下图: 18.jpg   然后它们存储到文本文件有这样的列: 代码如下: First Name Last Name Job Title City Country     在我们读取这个文件之前,先建一个实体类:   代码如下: /// <summary>  /// Customer entity /// </summary> public class Customer{ public string Firstname { get; set; } public string Lastname { get; set; } public string JobTitle { get; set; } public string City { get; set; } public string Country { get; set; } }     接着我们使用LINQ读取整个文件: 代码如下: var query = from line in File.ReadAllLines(filePath)  let customerRecord = line.Split(',') select new Customer()  { Firstname = customerRecord[0], Lastname = customerRecord[1],  JobTitle = customerRecord[2], City = customerRecord[3], Country = customerRecord[4] };  foreach (var item in query) { Console.WriteLine("{0}, {1}, {2}, {3}, {4}"  , item.Firstname, item.Lastname, item.JobTitle, item.City, item.Country); }     要读取可以带条件的记录也可以,我们filter出Country是UK: 代码如下:  var query = from c in (from line in File.ReadAllLines(filePath)  let customerRecord = line.Split(',') select new Customer() { Firstname = customerRecord[0], Lastname = customerRecord[1],  JobTitle = customerRecord[2], City = customerRecord[3], Country = customerRecord[4] })  where c.Country == "UK" select c;     另一例子:    代码如下: var query = from c in (from line in File.ReadAllLines(filePath) let customerRecord = line.Split(',') select new Customer() { Firstname = customerRecord[0], Lastname = customerRecord[1], JobTitle = customerRecord[2], City = customerRecord[3], Country = customerRecord[4] }) where c.JobTitle.Contains("Sales") select c;