我想检查文件行是否超过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()
的结果会分配给行变量并创建内存问题(字符串是不可变的)
所以我想在列表中添加非空行而不存储行变量