【发布时间】:2013-01-18 12:33:17
【问题描述】:
我在 vb .net 集合中添加了 2 个元素。调试时我可以看到 .count = 2。
如果监视集合中的元素,我通常会看到零索引中的第一个空元素,然后是我添加的两个元素。
问题是当我用 For Each Next 循环迭代集合时,空元素被迭代而最后一个元素没有被迭代。
这是结构的声明方式
Structure bstCategory
Dim categoryCode As String
Dim categoryVersion As String
End Structure
这就是集合的填充方式
With ci.tItem.information
.categories = New Collection
Dim additionalClassification As bstCategory
additionalClassification.categoryCode = "1"
additionalClassification.categoryVersion = "A"
.categories.Add(additionalClassification)
additionalClassification.categoryCode = "2"
additionalClassification.categoryVersion = "B"
.categories.Add(additionalClassification)
End With
这就是集合的迭代方式
For Each category As bstCategory In ci.tItem.information.categories
ValidateCategory(categorycode)
Next
我做错了什么?
【问题讨论】:
-
` Dim names As New Microsoft.VisualBasic.Collection() names.Add("John") names.Add(2) For Each x In names Console.WriteLine(x) Next` 对我有用.你试过重启VS吗?
-
您可以发布您的
bstCategory的代码吗?如果它是您创建的类,请检查代码 -
我重启了VS,但问题依旧。
-
bstCategory 是一个结构类型: Structure bstCategory Dim categoryCode As String Dim categoryVersion As String End Structure
-
如果您展示了 a:
categories的创建方式和 b:categories的填充方式,将会有所帮助。
标签: .net vb.net collections iteration