如何衡量LINQ查询的时间?

时间:2012-12-02 01:52:16

标签: c# linq stopwatch

我尝试在linq查询之前使用秒表并在LINQ查询之后停止它但是linq查询需要2分钟但是stopwtach结果给出40 MS !!

这是LINQ查询

Stopwatch stopwatch = Stopwatch.StartNew();
  var sets =
   from a in patient
   from b in patient
   from c in patient
   from d in patient
   from l in patient
   where a.VisitNum < b.VisitNum && b.VisitNum < c.VisitNum && c.VisitNum < d.VisitNum && d.VisitNum < l.VisitNum
   select new { a, b, c, d, l };
                stopwatch.Stop();

任何建议?

2 个答案:

答案 0 :(得分:3)

LINQ使用延迟执行 在您枚举结果之前,查询根本不会执行。

要强制执行查询,您可以调用.Count()

答案 1 :(得分:2)

通过转换为列表,可以在stopwatch.Stop()之前强制执行LINQ查询 在你的情况下,它将是 -

sets.ToList();
stopwatch.Stop()