在创建自定义大小的数组时尝试避免过多的迭代

时间:2016-07-14 18:14:33

标签: c# arrays performance list

在编写程序来处理文件时,我经常发现自己在做这样的事情:

string[] allLinesFromFile = null;
int arraySize = File.ReadAllLines(_path).Length;
allLinesFromFile = new string[arraySize];
allLinesFromFile = File.ReadAllLines(_path);
progressBar1.Maximum = arraySize;
progressBar1.Minimum = 0;

令我感到震惊的是,在这样做的过程中,我可能会在不必要的情况下迭代文件多次(文件中通常有数千行)。有没有办法在没有多余迭代的情况下创建自定义大小的数组?

1 个答案:

答案 0 :(得分:1)

只需获取返回数组的大小:

string[] allLinesFromFile = null;    
allLinesFromFile = File.ReadAllLines(_path);
progressBar1.Maximum = allLinesFromFile.Length;
progressBar1.Minimum = 0;