我尝试在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();
任何建议?
答案 0 :(得分:3)
LINQ使用延迟执行 在您枚举结果之前,查询根本不会执行。
要强制执行查询,您可以调用.Count()
。
答案 1 :(得分:2)
通过转换为列表,可以在stopwatch.Stop()之前强制执行LINQ查询 在你的情况下,它将是 -
sets.ToList();
stopwatch.Stop()