几万行并不多,一次性读完数据也没有问题。
如果不想一次性读入,可以用StreamReader。

解决方案 »

  1.   

    一次性全部读入然后用Skip和Take。
      

  2.   

    现在是用streamread来写的,可是不知道怎么一次读入20行啊
      

  3.   

    string[] source = ...
    var dataremain = source.AsEnumerable();
    do
    {
        var data = dataremain.Take(20);
        dataremain = dataremain.Skip(20);
        ...
    }
    while (dataremain.Count() > 0)
      

  4.   


    FileInfo fiData = new FileInfo(strPath);
    FileStream fsData = fiData.OpenRead();
    int iPos = 0;
    byte[] abyteData = new byte[20];
    int iActual = fsData.Read(abyteData, iPos, 20);
    iPos = iPos + 20;
    fsData.Seek(iPos, SeekOrigin.Begin);做循环总会的吧,自己注意判断边界,还有就是byte转成string然后再转float