我试图通过使用for Each循环来获取数组的索引值。 我在我的代码中出错,我不知道如何纠正。
我无法遍历ArrayList,因为它不是数字。
Dim num As Integer = 0
If Not IsNothing(BreadCrumbIDs) Then
For Each num In BreadCrumbIDs
If num >= 0 And num <= 1 Then
Console.WriteLine(num)
Else
' Do nothing
End If
Next
End If
我想循环遍历arrylist并获取它的索引/数值。
假设BreadCrumbsIds包含:
0 - 鞋子 1 - 靴子 2 - 皮靴我希望在值介于0和1之间时执行某些操作,而当值为2时则执行其他操作。
数组列表属性代码:
Public Property BreadCrumbIDs() As ArrayList
Get
Return bcIDs
End Get
Set(ByVal value As ArrayList)
bcIDs = value
End Set
End Property
答案 0 :(得分:0)
不是循环列表中的项目,而是循环索引。
For index As Integer = 0 To BreadCrumbIDs.Count-1
然后您可以使用
访问这些项目BreadCrumbIDs(index)
如果BreadCrumbIDs不是数字列表,那么我建议您更改其名称。
另一个选项可能是使用列表的IndexOf方法。
答案 1 :(得分:0)
另一个正确的答案是:
如果您正在调用以下函数:
Public Function Enumerate() As structPayments()
使用for循环,例如
For Each item In invPay.Enumerate(InvoiceNo)
您将在VS2015中获得相同的异常,因为您将变量/参数传递给不接受任何参数的函数。
仔细检查你的功能并确保它被设置为接收参数,在我的情况下,它应该改为:
Public Function Enumerate(InvoiceNo as String) As structPayments()