0
VB.NET 2012 我創建了一個foo的部分列表,它在構建之後將保持靜態,然後是第二個Foo列表,它將始終包含部分列表中的所有內容。我的問題是...什麼是將一個列表複製到另一個列表的快速或最快的方式?有更快的方法,沒有循環?
參見方法Combine
在Class1
在vb.net中複製List(Of T)Class的最快方法是什麼?
Option Explicit On
Option Strict On
Public Class Form1
Private _initFoo As New Class1()
Private _postFoo As New Class1()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
_initFoo.Init()
_postFoo.Combine(_initFoo, _postFoo) ' **
End Sub
End Class
Option Explicit On
Option Strict On
Public Class Class1
Private FooLst As New List(Of Foo)
Public Class Foo
Public Property Item1 As String
Public Property Item2 As String
End Class
Public Sub Init()
FooLst.Add(New Class1.Foo With {.Item1 = "1", .Item2 = "A"})
FooLst.Add(New Class1.Foo With {.Item1 = "2", .Item2 = "B"})
End Sub
Public Sub Combine(readFrom As Class1, writeTo As Class1) ' **
' Is there a faster or way to copy one list to the other?
' possibly without looping though each item in the readFrom list?
For Each f As Foo In readFrom.FooLst
writeTo.FooLst.Add(New Foo With {.Item1 = f.Item1, .Item2 = f.Item2})
Next
End Sub
End Class
您是否確實需要克隆物品?請注意,即使您使用的代碼在* your *源中沒有循環,* something *也會在某處循環。 – 2014-12-03 18:44:45
你在複製 - 製作新的Foos - 不會將現有的複製到新列表中。那是你的意圖嗎? – Plutonix 2014-12-03 18:44:50
我沒有看到圍繞循環的方法,您需要每個列表中的單獨實例。如果你不這樣做,那麼最快的方法可能是使用'List'構造函數。 –
2014-12-03 18:45:36