每个循环更有效

时间:2011-07-26 09:50:51

标签: vb.net optimization loops .net-2.0 performance

2 个答案:

答案 0 :(得分:1)

For Each row As DataRow In dt.Rows
            For index As Integer = 1 To 9
                For Each row2 As DataRow In dtAppAvail.Rows
                    Dim colName2 As String = row2("Day").ToString.Substring(0, 3) & " " & CType(row2("Date"), Date).ToString("dd/MM")
                    If dt.Columns(index).ToString = colName2 AndAlso row(0).ToString = row2("Timeslot").ToString Then
                        row(index) = row2("AppointmentsBooked")
                    End If
                Next
            Next
        Next

这是一个更精简的版本...... 它使用较少的变量,我假设=更少的内存存储,但我怀疑你会发现很多差异...

答案 1 :(得分:0)

如果您的数据表很大,那么使循环并行。 我建议使用.NET 4附带的parallel.foreach,但是既然你指定了.NET 2,你可以自己实现它。

检查“并行编程模式”:

http://www.microsoft.com/download/en/details.aspx?id=19222