以测试List<String>和ArrayList的性能差距为例,直接贴代码:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Collections;
class Program
{
static void Main(string[] args)
{
TestArrayList();
TestList();
Console.ReadKey();
}
private static void TestArrayList()
{
const int count = 100000000;
ArrayList arrayList = new ArrayList();
using (new OperationTimer("Test ArrayList"))
{
for (int i = 0; i < count; ++i)
{
arrayList.Add(i + i); // 发生装箱
int temp = (int)arrayList[i]; // 发生拆箱,arrayList[i]是object类型
}
}
arrayList = null; // 确保能进行强制的GC(OperationTimer类)
}
private static void TestList()
{
const int count = 10000