通用列表复制引用而不是创建copiedList

Dea*_*ean 3 vb.net generics reference

当我尝试在列表中运行枚举器然后执行一些操作时,我正在开发一个小函数.(下面是我想要做的事情的想法.

当我试图删除时,我得到了一个"收藏无法修改",在我实际醒来之后,我意识到tempList必须刚刚被分配了myLists引用而不是myLists的副本.在那之后我试图找到一种说法

tempList = myList.copy

但似乎没有什么?我最后编写了一个小的for循环,然后将myLsit中的每个项目添加到tempList中,但我原以为会有另一种机制(如clone?)

所以我的问题:

  • 我的假设是关于tempList接收对myList的引用是正确的
  • 如何将列表复制到另一个列表?

        private myList as List (Of something)
    
    sub new()
        myList.add(new Something)
    end sub
    
    sub myCalledFunction()
        dim tempList as new List (Of Something)
        tempList = myList
        Using i as IEnumerator = myList.getEnumarator
           while i.moveNext
               'if some critria is met then 
               tempList.remove(i.current)
           end
        end using
    
    end sub
    
    Run Code Online (Sandbox Code Playgroud)

Seb*_*Seb 8

通过编写tempList = myList你不要复制哦集合,你只能使tempList引用myList.试试这个:dim tempList as new List (Of Something)(myList)