答案 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