【发布时间】:2014-08-26 15:37:10
【问题描述】:
标题说明了一切,我在遍历我制作的数组列表(歌曲)并在找到特定歌曲后删除它时遇到了一些麻烦。我已确认位置正确,并尝试手动输入歌曲的位置,但无济于事。
Sub delete(location As String)
Dim tempS As Song
For Each tempS In songs
If tempS.getLocation().toLower().Equals(location) Then
songs.Remove(tempS)
End If
Exit For
Next
End Sub
这个项目仍处于起步阶段,唯一与歌曲相关的是它的存储位置(ei C:\Music\Albums\Once\Nemo.mp3)。非常感谢!
【问题讨论】:
-
.equals(location) 中的位置是否也降低了?如果不是,则不会匹配。
-
我想你希望
Exit For在If块内。迭代任何数组并在迭代期间删除项目时要小心,因为在删除其中一个后,您无法始终确定要迭代的内容。 -
它将是 C:\Music\Albums\Once\Nemo.mp3 与 c:\music\albums\once\nemo.mp3
-
另外,马特是对的。移动那个出口。
-
谢谢你们!移动出口就成功了,简直不敢相信它是如此简单!哈哈是的,我的错我忘了提到所有歌曲在添加到数组列表之前都会转换为较低的。
标签: .net vb.net arraylist iteration remove-method