Gia*_*971 33 c# performance list .net-4.0 stringcollection
我想知道何时应该使用List <string>以及何时应该使用StringCollection.
假设我必须处理大量的字符串(比如10mb的文本文件).
我知道List <T>提供了比StringCollection更强大的功能 .
但有时我发现List <T> 很慢,例如告诉Gridview它的数据源是List <String> ...
那么有谁知道这些收藏品的优缺点,关于记忆中的速度和重量?
关于它们的功能,我相信每个人都会同意说List是最好的,所以我的问题不在于此.考虑问题是关于Frameworks 4.0上的项目,因此两者都可以使用.
Jon*_*eet 50
我个人更喜欢使用List<string>:
IEnumerable<T>而不仅仅是IEnumerable,因此支持LINQ我会惊讶地发现StringCollection速度要快得多List<string>- 看看你是否可以用数字来支持它.我犹豫的唯一原因是GridView可能有硬编码的支持,StringCollection以使其快速使用该类型 - 但这对我来说听起来不太可能.
Pat*_*her 25
在性能和效率方面,它们将非常相似.
List<string>实际上可能会快一点.它是预先通用的ArrayList的包装器.没有拳击/拆箱,但是还有一两个额外的一步,IIRC.
StringCollection在.NET 2.0之前很方便,因为它被强类型化为字符串,非常常见的想要列表.我建议List<string>现在使用.由于大多数框架和第三方程序集将使用它而不是StringCollection,这将: