自定义通用集合中的索引超出范围异常

时间:2009-02-25 15:14:44

标签: vb.net

我写了一个导入System.Collections.ObjectModel的类。对于集合的管理,我写了:

Default Public ReadOnly Property Item(ByVal vntIndexKey As Integer) As ItemType
    Get
        Return CType(mCol.Item(vntIndexKey), ItemType)
    End Get
End Property

然后当我调试时,我被告知:

“索引超出范围。必须是非负数且小于集合的大小。”

“ItemType”始终是一个对象,在调试过程中,我可以看到vntIndexKey = 1.

有人可以告诉我为什么吗?

4 个答案:

答案 0 :(得分:4)

您的代码没有语法错误。看来问题是您正在尝试访问集合中不存在的元素。底层集合类说元素“1”超出了集合的范围。只有0-(collection.Count-1)是有效索引。

集合中有多少件物品?

答案 1 :(得分:0)

当时馆藏中有多少件物品?请务必检查索引是否大于或等于下限,小于或等于上限。

答案 2 :(得分:0)

很有可能你的藏品中没有任何东西

答案 3 :(得分:0)

您可以尝试使用3.5 SP1

出现的错误