当前位置:编程学习 > C#/ASP.NET >>

C#性能简析-集合容量的指定

长度动态增加的集合类,例如 ArrayList、Queue等,无需在初始化时指定其容量,集合本身能够根据需求自动增加集合大小,为程序设计带来方便。然而,过分依赖这种特性对程序的性能提高并非好的选择,因为集合动态增加的过程是一个内存重新分配和集合元素复制的过程,会对性能造成一定的影响,所以有必要在集合初始化时指定一个适当的容量。

下面分三种情况来测试指定集合容量对程序性能的影响。

 

\测试代码
1 using System;
2  using System.Collections.Generic;
3  using System.Text;
4  using System.Collections;
5
6  namespace Test_Console
7 {
8 class Program
9 {
10 static void Main(string[] args)
11 {
12 TimeSpan ts = new TimeSpan();
13 DateTime dt = DateTime.Now;
14
15 // 情况一:不指定数组的长度
16
17 for (int i = 0; i < 100000; i++)
18 {
19 ArrayList al = new ArrayList();
20 al.Add("one");
21 al.Add("two");
22 al.Add("three");
23 al.Add("four");
24 al.Add("five");
25 }
26
27 ts = DateTime.Now.Subtract(dt);
28 Console.WriteLine(ts.Milliseconds + " 毫秒");
29
30 dt = DateTime.Now;
31
32 // 情况二:初始化时为集合对象指定适当的容量
33
34 for (int i = 0; i < 100000补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,