我试图检查拳击和不拳击的表现。这是一个代码:
public struct p1
{
int x, y;
public p1(int i)
{
x = y = i;
}
}
public class MainClass
{
public static void Main()
{
var al = new List<object>();
var l = new List<p1>();
var sw = new Stopwatch();
sw.Start();
for (int i = 0; i < 1000; i++)
{
al.Add(new p1(i));
}
p1 b;
for (int i = 0; i < 1000; i++)
{
b = (p1)al[i];
}
Console.WriteLine(sw.ElapsedTicks);
var time = sw.ElapsedTicks;
for (int i = 0; i < 1000; i++)
{
l.Add(new p1(i));
}
p1 v;
for (int i = 0; i < 1000; i++)
{
v = l[i];
}
var t = sw.ElapsedTicks - time;
Console.WriteLine(t);
Console.ReadKey();
}
}
但是对象列表比 p1 列表工作得更快。为什么?
1139 9256
1044 6909