向System.Collections.Generic.List添加对象时出现索引错误
Dim myObj As New MyObject
Dim List As New List(Of MyObject)
List.Add(myObj)
错误信息是这些(从我的系统语言翻译):
“索引矩阵索引”
“矩阵起源不够长”
“验证矩阵的srcIndex,大小和下限”
.NET不应该自动调整List的大小吗?
我无法复制此错误。它发生在一系列的操作中 这是在线程中运行,但每个线程都有自己的List 我在列表上尝试过SyncLock,但没有任何影响。
任何人都知道问题是什么以及如何避免它?
答案 0 :(得分:0)
这听起来像是一个并发问题,.Net会在达到容量时自动调整底层数组的大小。
.Net集合不是线程安全的(即将在.NET的下一个版本中出现)
你是否锁定以及套装?如果是这样它应该工作。如果你想要想象的话,你也可以看看读写器锁。