C# 计算一行或多行代码的执行时间

C# 计算一行或多行代码的执行时间,c#,c#-4.0,C#,C# 4.0,有没有一种方法(用C#编写的类)可以让我计算执行程序中某些行所需的时间 例: 一个选项是使用内置类: 见类手动完成,或考虑使用.< /P> < P>查看 那你就做吧 var time=time(()=>{//MyCode here}) 这会起作用,但从DateTime开始,它的精度大约为15-16毫秒。 try { string connectionString = GetConnectionString(); using (SqlConnection conn = new SqlCon

有没有一种方法(用C#编写的类)可以让我计算执行程序中某些行所需的时间

例:


一个选项是使用内置类:

见类手动完成,或考虑使用.< /P> < P>查看

那你就做吧


var time=time(()=>{//MyCode here})

这会起作用,但从DateTime开始,它的精度大约为15-16毫秒。
try
{
  string connectionString = GetConnectionString();
  using (SqlConnection conn = new SqlConnection(connectionString))
  {
    conn.Open();

    ***// start counting: 
    // time = 0*** 

    using (SqlCommand cmd = new SqlCommand(
     “SELECT * FROM Books”, conn))
      using (SqlDataReader reader = cmd.ExecuteReader())
       {
         while (reader.Read())
          {
             Console.WriteLine(“{0}\t{1}\t{2}”, 
             reader.GetInt32(0),
             reader.GetString(1), 
             reader.GetInt32(2));
          }

   ***// end counting 
   // time = 10 sec***
  }
} 
var sw = Stopwatch.StartNew();

// do something

sw.Stop();
Console.WriteLine("Time elapsed: {0} milliseconds", sw.ElapsedMilliseconds);
static TimeSpan Time(Action action) {
  var sw = StopWatch.StartNew();
  action();
  sw.Stop();
  return sw.Elapsed
}