如何在StreamReader中读取不是空行的文件

时间:2016-12-06 14:47:09

标签: c# asp.net memory-management

我想检查文件行是否超过20(例如)然后阻止用户上传文本文件,所以想要只读一次这是我的代码

    using (Stream stream = fileUploadBatch.FileContent)
    {
        stream.Seek(0, SeekOrigin.Begin);
        using (StreamReader streamReader = new StreamReader(stream))
        {
            string line = null;
            List<string> fileLines = new List<string>();
            while (!streamReader.EndOfStream && fileLines.Count < 50)
            {
                line = streamReader.ReadLine();
                if(strig.IsNullOrEmpty(line))
                    return;
                fileLines.Add(line);                          
             }

             // do something with list
        }
    }

这是不好的做法,因为streamReader.ReadLine()的结果会分配给行变量并创建内存问题(字符串是不可变的) 所以我想在列表中添加非空行而不存储行变量

0 个答案:

没有答案