我嘗試使用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中即可。當你在它時,使結構不可變。 –