迭代没有元素的数组或列表,foreach 似乎比 for 慢。运行下面的代码,我得到的结果是:
3ms
143ms
7ms
foreach真的很慢还是我做错了什么?
var l = new List<int>();
var watch = new Stopwatch();
var test = 0;
watch.Start();
for (int i = 0; i < 10000000; i++)
if (l.Count > 0)
test = 1;
watch.Stop();
Debug.Log(watch.ElapsedMilliseconds);
watch.Reset();
watch.Start();
for (int i = 0; i < 10000000; i++)
foreach (var item in l)
test = 1;
watch.Stop();
Debug.Log(watch.ElapsedMilliseconds);
watch.Reset();
watch.Start();
for (int i = 0; i < 10000000; i++)
for (int j = 0; j < l.Count; j++)
test = 1;
watch.Stop();
Debug.Log(watch.ElapsedMilliseconds);
开心每一天1111
慕斯709654
随时随地看视频慕课网APP
相关分类