C#列表是否快速?使用列表处理对象有什么好处和坏处?
广泛使用列表会使软件变慢吗? C#中列表的替代方法是什么?
列表的“太多对象”有多少个对象?
答案 0 :(得分:79)
List<T>
使用支持数组来保存项目:
通常可以很好地使用列表。如果在开始填充列表时知道最终大小,最好使用构造函数来指定容量,以避免调整大小。除此之外:如果您担心,请打开探查器......
答案 1 :(得分:12)
与什么相比?
List<T>
,那么它本质上是一个数组的包装器;如此快速地通过索引读取/写入,相对快速追加(因为它允许最后的额外空间,必要时大小加倍)并从最后删除,但执行其他操作更昂贵(插入/删除除结尾之外)Dictionary<,>
等可通过密钥提供更好的访问权限列表本质上不是很慢;特别是如果你知道你总是需要查看所有数据,或者可以通过索引访问它。但对于大型列表,通过密钥搜索可能更好(也更方便)。 .NET中有各种字典实现,每种字典都具有不同的成本大小/性能。