StringReader或Memory Stream资源友好?

时间:2011-07-11 07:40:13

标签: c# vb.net

我有一个模块负责解析通过网站界面从不同用户收到的CSV数据,我必须解析该CSV。我正在考虑使用TextFieldParser

但在我实施之前,我正在考虑什么是更好的方法......

  1. 从收到的数据生成MemoryStream
  2. 或从同一输入字符串初始化StringReader
  3. 哪一个更好&为什么?

1 个答案:

答案 0 :(得分:2)

选项1根本不会给你一个字符串,所以如果你想使用字节数组和缓冲区,那就这样,但似乎不太可能。如果您正在进行字符串处理,则强烈建议使用选项2,因为您可以一次读取一行。

据我所知,使用MemoryStream的唯一原因是,如果你需要做一些StringReader无法处理的更复杂的事情(否则你会重新发明轮):编码,奇怪的行格式等。

使用StringReader s处理过非常大的文件(特别是CSV文件),我从未遇到过问题。我打赌,当MS设计StringReader完全按照你要做的那样做时,他们会尽可能地使它变得更加友好。