到現在爲止,我知道2的方式來獲取文件的一些線(包含約30.000線):按順序在文件中獲取行的最佳方法是什麼?
int[] input = { 100, 50, 377, 15, 26000, 5000, 15000, 30, ... };
string output = "";
for (int i = 0; i < input.Length; i++)
{
output += File.ReadLines("C:\\file").Skip(input[i]).Take(1).First();
}
或
string[] lines = File.ReadAllLines("C\\file");
int[] input = { 100, 50, 377, 15, 26000, 5000, 15000, 30, ... };
string output = "";
for (int i = 0; i < input.Length; i++)
{
output += lines[input[i]];
}
行我想不需要通過是爲了輸入數組。
第一種方式,我不需要做lines array
,其中包含30.000元(〜4MB),但我必須輸入的re-open file for each element
。
第二種方式,我只需要read file one time
,但必須有make an array
大數據。
有什麼方法可以讓線條更好?謝謝!
也許使用流將導致您找到一個更具擴展性的解決方案? –
說實話,我沒有看到第二個選項的錯誤,讀取整個文件.4mb不是一個大文件,只要內存在使用後釋放,那麼我會用這種方式。 – Andrew