使用linq读取分隔符文本文件
程序员文章站
2024-02-25 11:19:34
如下图:
然后它们存储到文本文件有这样的列:复制代码 代码如下:first namelast namejob titlecitycountry在我们读取这个文件之前,先建...
如下图:
然后它们存储到文本文件有这样的列:
复制代码 代码如下:
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;
推荐阅读
-
使用linq读取分隔符文本文件
-
使用linq to xml修改app.config示例(linq读取xml)
-
『Word2007技巧』使用 Schema.ini 文件指定不同的列表分隔符或文本文件格式
-
PHP读取文本文件并逐行输出该行使用最多的字符串及对应次数
-
使用linq to xml修改app.config示例(linq读取xml)
-
Windows系统中使用C#读取文本文件内容的小示例
-
C#中使用StreamReader实现文本文件的读取与写入
-
VisualStudio怎么使用函数读取文本文件内容?
-
C#使用Linq to csv读取.csv文件数据
-
vbs中使用 ADO 读取所有数据均在一行上的文本文件的代码