源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-01-11 02:30 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:使用linq读取分隔符文本文件
如下图: [img]http://files.jb51.net/file_images/article/201401/20140122143836.jpg?2014022145213[/img] 然后它们存储到文本文件有这样的列:
[u]复制代码[/u] 代码如下:
First Name Last Name Job Title City Country
在我们读取这个文件之前,先建一个实体类:
[u]复制代码[/u] 代码如下:
/// <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读取整个文件:
[u]复制代码[/u] 代码如下:
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:
[u]复制代码[/u] 代码如下:
 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;
另一例子:
[u]复制代码[/u] 代码如下:
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;
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部