using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 时间测试
{
class Program
{
static void Main(string[] args)
{
int[] numbs = new int[100000];
BuildArray(numbs);
TimeSpan duration;
DisplayNumbs(numbs);
DisplayNumbs(numbs);
DisplayNumbs(numbs);
duration = Process.GetCurrentProcess().TotalProcessorTime;
Console.WriteLine("Time:" + duration.TotalSeconds);
}
public static void BuildArray(int[] numbs)
{
for (int i = 0; i < numbs.Length; i++)
{
numbs[i] = i;
}
}
public static void DisplayNumbs(int[] numbs)
{
for (int i = 0; i < numbs.Length; i++)
{
Console.Write(numbs[i] + " ");
}
}
}
}
-------------------封装的Timing类----------------------------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Timing类
{
class Program
{
static void Main(string[] args)
{
int[] numbs = new int[100000];
BuildArray(numbs);
Timing test = new Timing();
test.StartTime();
DisplayNumbs(numbs);
test.StopTime();
Console.WriteLine("Time:" + test.Result());
}
public static void BuildArray(int[] numbs)
{
for (int i = 0; i < numbs.Length; i++)
{
numbs[i] = i;
}
}
public static void DisplayNumbs(int[] numbs)
{
for (int i = 0; i < numbs.Length; i++)
{
Console.Write(numbs[i] + " ");
}
}
}
/// <summary>
/// 时间测试类
/// </summary>
public class Timing
{
/// <summary>
/// 记录开始时间
/// </summary>
private TimeSpan startingTime;
/// <summary>
/// 记录方法的用时
/// </summary>
private TimeSpan duration;
/// <summary>
/// 初始化
/// </summary>
public Timing()
{
startingTime = new TimeSpan(0);
duration = new TimeSpan(0);
}
/// <summary>
/// 结束计时
/// </summary>
public void StopTime()
{
duration = Process.GetCurrentProcess().Threads[0]
.UserProcessorTime.Subtract(startingTime);
}
/// <summary>
/// 开始计时
/// </summary>
public void StartTime()
{
GC.Collect();
GC.WaitForPendingFinalizers();
startingTime = Process.GetCurrentProcess().Threads[0].UserProcessorTime;
}
/// <summary>
/// 获取结果
/// </summary>
/// <returns></returns>
public TimeSpan Result()
{
return duration;
}
}
}