对每个进行过滤都比循环中的if子句明显更高效

时间:2012-11-01 10:09:40

标签: .net vb.net linq

我正在开发一个包含大量ForEach... If's的代码库。我打算将它们转换为每个过滤器,但我想知道速度提升值得花时间。我知道所有这些事情都是相对的,但如果对每个事物进行过滤的速度总体上更快,那么改变是有意义的。

 For Each egg In chicken.Where(Function(x) x.Tasty = True)
      ' Do Stuff
 Next

 For Each egg In chicken
      If x.Tasty = True Then
           ' Do Stuff
      End If
 Next

1 个答案:

答案 0 :(得分:2)

您可以尝试的一件事是使用StopWatch类来衡量每个For循环所需的时间,例如。

Dim sw As New Stopwatch()
sw.Start()

' Do some work..
sw.Stop()

Console.WriteLine("Elapsed time to do some work: {0}", sw.Elapsed.ToString())