开发者

Iterate Typed List in sections

开发者 https://www.devze.com 2023-01-31 17:14 出处:网络
I have the following list Dim ordersToUpdate as New List(Of OrderUpdate) I am using a \"For Each\" to iterate and update a legacy DB

I have the following list

Dim ordersToUpdate as New List(Of OrderUpdate)

I am using a "For Each" to iterate and update a legacy DB

For Each order In ordersToUpdate

  UpdateDB(order)

Next

I am having a LOCKING problem on the DB when the "ordersToUpdate" is large. Instead to puting a Threading.Thread.Sleep to pause, is there a proper way to break the开发者_JAVA百科 list up into sections e.g iterating 100 at a time?


Public Function SplitList(Of T)(ByVal list As List(Of T), ByVal size As Integer) As List(Of List(Of T))
        Dim result As New List(Of List(Of T))
        For i = 0 To CInt(Math.Ceiling(list.Count / size)) - 1
            result.Add(New List(Of T)(list.GetRange(i * size, Math.Min(size, list.Count - (i * size)))))
        Next
        Return result
    End Function

Reference

0

精彩评论

暂无评论...
验证码 换一张
取 消