1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Stopwatch的使用 8 { 9 class Program10 {11 12 ///13 /// 使用Stopwatch比较for循环和foreach循环的效率14 /// 15 /// 16 static void Main(string[] args)17 {18 19 int[] intArr = new int[1000000];20 for (int i = 1; i <= 1000000; i++)21 {22 intArr[i - 1] = i;23 }24 25 //使用Stopwatch统计程序运行的时间26 /*27 Stopwatch提供了几个方法用以控制Stopwatch对象。28 * Start方法开始一个计时操作,Stop方法停止计时。29 * 此时如果第二次使用 Start方法,将继续计时,最终的计时结果为两次计时的累加。30 * 为避免这种情况,在第二次计时前用Reset方法将对象归零。这三个方法都不需要参数31 */32 System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); 33 sw.Start(); //开始计时34 35 int sum = 0;36 37 for (int i = 1; i <= intArr.Length; i++)38 {39 sum += i;40 }41 Console.WriteLine("sum={0}",sum);42 43 sw.Stop(); //停止计时44 long result = sw.ElapsedMilliseconds;//获得程序运行的时间45 Console.WriteLine("使用for循环计算从1加到1000000的和所需要的时间是:{0}", result);46 47 Console.WriteLine("****************************************************************");48 sw.Reset();49 sw.Start();50 51 sum = 0;52 foreach (var item in intArr)53 {54 sum += item;55 }56 Console.WriteLine("sum={0}", sum);57 Console.WriteLine("使用foreach循环计算从1加到1000000的和所需要的时间是:{0}", sw.ElapsedMilliseconds);58 sw.Stop();59 60 Console.ReadKey();61 }62 }63 }