【发布时间】:2012-05-15 11:44:52
【问题描述】:
在编写对可能无限“流”数据(即字节、字符等)进行操作的函数时,在决定将字符串/数组与流用于输入/输出时,有哪些设计注意事项?
总是编写函数来使用流,然后制作使用流包装器(即 StringReader/Writer)的重载方法来返回“简单数据”,例如不需要处理的数组或字符串等,是否会对性能产生巨大影响?考虑?
我认为在数组上操作的函数要方便得多,因为您可以“返回”结果数组,而且您通常不必担心处理。我认为流运算符很好,因为它们可以对无限的数据源进行操作,而且可能还可以节省内存。
【问题讨论】:
-
无论您使用哪种集合或流类(LinkedList 除外),最终都归结为核心的 byte[]。机器支持的基本且唯一的集合类型。这肯定是一个痛苦的阻抗不匹配,总是更好地使用工具箱中的那些并且已经这样做了。
标签: c# arrays performance stream