我是C#的新手,所以需要你的帮助。
我有一个包含很多行和3个制表符分隔字段的文件。我想读取每一行,从行中提取字段,并将3个提取的值推送到对象中。最后,我应该得到一个对象数组。数组的长度应该等于文件中的行数。并且文件中的所有信息都应该包含在对象中。
例如文件
abcd pqrs mnop
asdf asdf asdf
poiu poiu poiu
xcvx xcvb rtew
: : : :
: : : :
: : : :
这是我能想到的:
班级定义
Class MyClass
{
string field1;
string field2;
string field3;
}
主要
String[] Content = File.ReadAllLines("file.txt");
var query = from line in Content
let Parts = line.Split(Separators,StringSplitOptions.RemoveEmptyEntries)
select new MyClass
{field1 = Parts[0],
field2 = Parts[1],
field3 = Parts[2],
};
如何从中获取List或IEnumerable对象?
答案 0 :(得分:4)
您的代码已经为您提供了IEnumerable<MyClass>
值(在query
变量中)
如果您需要列表,可以在其上调用ToList()
。
答案 1 :(得分:1)
var query = (from line in Content
let Parts = line.Split(Separators,StringSplitOptions.RemoveEmptyEntries)
select new MyClass
{field1 = Parts[0],
field2 = Parts[1],
field3 = Parts[2],
}).ToList<MyClass>();
就是这样。
查询现在将是列表<MyClass
&gt;