using System;

using System.Collections;

using System.Collections.Generic;

using System.Diagnostics;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace 泛型和非泛型对比

{

class Program

{

static void Main(string[] args)

{

testGeneric();

testNonGeneric();

Console.ReadKey();

}

//测试泛型类型操作的运行时间

public static void testGeneric()

{

Stopwatch stopwatch = new Stopwatch();

List list = new List();

stopwatch.Start();

for (int i = 0; i < 10000000; i++)

{

list.Add(i);

}

stopwatch.Stop();

TimeSpan ts = stopwatch.Elapsed;

string elapsedTime = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.TotalMilliseconds / 10);

Console.WriteLine("泛型类型运行的时间:" + elapsedTime);

}

public static void testNonGeneric()

{

Stopwatch stopwatch = new Stopwatch();

ArrayList arraylist = new ArrayList();

stopwatch.Start();

for (int i = 0; i < 10000000; i++)

{

arraylist.Add(i);

}

stopwatch.Stop();

TimeSpan ts = stopwatch.Elapsed;

string elapsetime = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10);

Console.WriteLine("非泛型运行的时间:" + elapsetime);

}

}

}

运行效果图:

 

查看原文