【发布时间】:2015-02-05 22:26:06
【问题描述】:
我想构建一个数组,其行以字符串为键。行不需要具有相同数量的列(锯齿状数组)或在每列中都有值。我希望能够更新数组现有行中的列。
我尝试使用字典。
Dim ToolUsers as New Dictionary(Of String, Array)
Dim UserData() As String = {"", "", "", "", "", "", "", "")
Of String 允许我访问基于 String 值的任何特定行,但 Array 是一个引用类型,并且始终指向存储在 UserData 数组中的当前值,而不是一个值类型并存储Dictionary 中的数组值。
我查看了Arrays 中的Array,但它似乎不允许通过键访问现有行或允许更新现有值。
VB.net 中是否存在这样的构造?
【问题讨论】:
-
字典应该可以工作。您需要为每个新的 Dictionary 项创建一个新数组,您不能只修改现有数组的值并期望创建一个具有不同数据的新 Dictionary 项。
-
很难理解为什么值类型行为对你很重要。也许你忽略了 Array.Copy()。