我尝试使用Linq读取简单的TXT文件,但是,我的dificult是。通过2线读取2文件,为此,我做了一个简单的功能,但是,我相信我可以阅读TXT的2分2行...使用Linq读取2行2行2
我的代码读取文本行是:
private struct Test
{
public string Line1, Line2;
};
static List<Test> teste_func(string[] args)
{
List<Test> exemplo = new List<Test>();
var lines = File.ReadAllLines(args[0]).Where(x => x.StartsWith("1") || x.StartsWith("7")).ToArray();
for(int i=0;i<lines.Length;i++)
{
Test aux = new Test();
aux.Line1 = lines[i];
i+=1;
aux.Line2 = lines[i];
exemplo.Add(aux);
}
return exemplo;
}
之前,我创建这个功能,我试着这样做:
var lines = File.ReadAllLines(args[0]). .Where(x=>x.StartsWith("1") || x.StartsWith("7")).Select(x =>
new Test
{
Line1 = x.Substring(0, 10),
Line2 = x.Substring(0, 10)
});
但是,很明显,该系统将通过线得到线,并为行一个新的结构... 所以,我怎么能用linq获得2乘2行?
---编辑 也许有可能创建一个新的'linq'功能,以使该???
Func<T> Get2Lines<T>(this Func<T> obj....) { ... }
我跑的程序,并了解它获得开始的行1或7的结果被返回为与2个特性的单一结构。我不明白“通过2行LINQ”?你想解决什么问题?你只是想把两条线连成一条?如果是这样,只需将另一个属性添加到Struct中即可。当你在它时,使结构不可变。 –