level 1
Beriot
楼主
class/struct Node
{
int time;
int data;
}
class Program
{
static void Main(string[] args)
{
Stopwatch sw0 = new Stopwatch();
Node[] a = new Node[1000000];
sw0.Start();
for (int i = 0; i < 1000000; i++)
{
a[i] = new Node();
}
sw0.Stop();
Console.WriteLine("a init time: " + sw0.ElapsedMilliseconds);
Stopwatch sw1 = new Stopwatch();
Node[] b = new Node[1000000];
sw1.Start();
for (int i = 0; i < 1000000; i++)
{
b[i] = new Node();
}
sw1.Stop();
Console.WriteLine("b init time: " + sw1.ElapsedMilliseconds);
Console.ReadLine();
}
}
如果是引用类型的数组,代码考前的数组的时间几乎永远是代码考后的数组的两倍,如果是值类型的数组则用时一致,为何?
这里sw.reset无影响。
2022年02月08日 16点02分
1
{
int time;
int data;
}
class Program
{
static void Main(string[] args)
{
Stopwatch sw0 = new Stopwatch();
Node[] a = new Node[1000000];
sw0.Start();
for (int i = 0; i < 1000000; i++)
{
a[i] = new Node();
}
sw0.Stop();
Console.WriteLine("a init time: " + sw0.ElapsedMilliseconds);
Stopwatch sw1 = new Stopwatch();
Node[] b = new Node[1000000];
sw1.Start();
for (int i = 0; i < 1000000; i++)
{
b[i] = new Node();
}
sw1.Stop();
Console.WriteLine("b init time: " + sw1.ElapsedMilliseconds);
Console.ReadLine();
}
}
如果是引用类型的数组,代码考前的数组的时间几乎永远是代码考后的数组的两倍,如果是值类型的数组则用时一致,为何?
这里sw.reset无影响。