有时我们会处理一些带分隔符数据文本文件。例如,使用”,”分隔的数据,如下图:
然后它们存储到文本文件有这样的列:
在我们读取这个文件之前,先建一个实体类:
1: /// <summary>
2: /// Customer entity
3: /// </summary>
4: /// Author Petter Liu http://wintersun.cnblogs.com
5: public class Customer
6: {
7: public string Firstname { get; set; }
8: public string Lastname { get; set; }
9: public string JobTitle { get; set; }
10: public string City { get; set; }
11: public string Country { get; set; }
12: }
接着我们使用LINQ读取整个文件:
1: var query = from line in File.ReadAllLines(filePath)
2: let customerRecord = line.Split(',')
3: select new Customer()
4: {
5: Firstname = customerRecord[0],
6: Lastname = customerRecord[1],
7: JobTitle = customerRecord[2],
8: City = customerRecord[3],
9: Country = customerRecord[4]
10: };
11: foreach (var item in query)
12: {
13: Console.WriteLine("{0}, {1}, {2}, {3}, {4}"
14: , item.Firstname, item.Lastname, item.JobTitle, item.City, item.Country);
15: }
要读取可以带条件的记录也可以,我们filter出Country是UK:
1: var query = from c in
2: (from line in File.ReadAllLines(filePath)
3: let customerRecord = line.Split(',')
4: select new Customer()
5: {
6: Firstname = customerRecord[0],
7: Lastname = customerRecord[1],
8: JobTitle = customerRecord[2],
9: City = customerRecord[3],
10: Country = customerRecord[4]
11: })
12: where c.Country == "UK"
13: select c;
另一例子:
1: var query = from c in
2: (from line in File.ReadAllLines(filePath)
3: let customerRecord = line.Split(',')
4: select new Customer()
5: {
6: Firstname = customerRecord[0],
7: Lastname = customerRecord[1],
8: JobTitle = customerRecord[2],
9: City = customerRecord[3],
10: Country = customerRecord[4]
11: })
12: where c.JobTitle.Contains("Sales")
13: select c;
Author: Petter Liu http://wintersun.cnblogs.com
希望这篇POST对您有帮助。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)