我正试图找出一种方法来添加到正在迭代的列表......
示例代码(调用test()
:
Dim listOfString As New List(Of String)
Public Sub test()
For Each aString in listOfString
getNumber(aString)
Next
End Sub
Public Sub getNumber(theString as String)
'Does Something
listOfString.add(Something)
End Sub
我的目标是继续将元素添加到listOfString
的末尾,同时继续迭代它直到它结束。我的实际代码出现Collection was modified; enumeration operation may not execute
错误。谢谢你的时间!
答案 0 :(得分:1)
我想添加评论中未说明的内容:
查看您的代码,"播放" CLR:
listOfString
listOfString
中的每个项目 - >包含1个项目listOfString
的结尾?不,我们只有2件物品,而且#34;循环播放" - >继续每个listOfString
的结尾?现在我们有3个项目只有2个项目是"循环" - >继续每个listOfString
的结尾?现在我们有4个项目只有3个项目是"循环"。
.... 我猜你明白了。如果.NET允许你的方法,你将在这里结束无限循环。
你可以做的事已在评论中说过了。创建两个列表,将新项目添加到第二个列表,然后再添加Union
或Concat
。