[C#.NET] 动态数组处理 - StringCollection 类与 List 类的性能比较

匿名 (未验证) 提交于 2019-12-03 00:01:01

[C#.NET] 动态数组处理 - StringCollection 类与 List 类的性能比较


在上篇文章[C#.NET][VB.NET] 一般集合 - StringCollection 集合 类简介,有网友提到StringCollection 类比List类性能差;但是在微软的70-536的考试用书里有提到,若是纯字符串的集合建议使用StringCollection 类,当时只谨记在心中并未实际的比较过,所以今日就来实践一下比较结果。若想要知道ArrayList的性能如何请参考[C#.NET][VB.NET] ArrayList 与 List 执行性能比较。

 System.Collections.Generic.List lst = new List(); System.Collections.Specialized.StringCollection sc = new StringCollection(); public List listAddMethod() {     for (int i = 0; i    

结果如下,70-536的考试用书果然没骗我。

接着我想看看它们在动态移除的性能,先再建构子增加集合。

 public Form1() {     InitializeComponent();     //     listAddMethod();     scAddMethod(); }  public List listCutMethod() {     for (int i = 10000; i >= 0; i--)     {         lst.Remove(i.ToString());     }     return lst; } public StringCollection scCutMethod() {     for (int i = 10000; i 
 

这次还是由StringCollection 类胜出。

结论:

由上述简单的程序即能明了,在纯字符串的集合,StringCollection 类处理起来的性能是优于List泛型集合的,因此若是我们单纯要处理字符串集合,别忘了优先考虑StringCollection 类喔,那如果是StringDictionary类与Dictionary该选哪个呢?..如果是同样的条件都是字符串的话我会选StringDictionary类,不信的话,就自己再动手测测吧。

若有谬误,烦请告知,新手发帖请多包涵

2010~2017 C# 第四季

原文:大专栏[C#.NET] 动态数组处理 - StringCollection 类与 List 类的性能比较


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!