我在单一行中为标题解释问题时遇到了一些麻烦,但希望此说明能为您提供足够的洞察力以充分理解我的问题:
我在Word文档中有一些变量。每个变量都有一个Value
,它是一个数字(从0开始到变量数)。 SortedDictionary
正在填充这些变量,但之前可能已删除了变量,因此可以说有“差距”。例如:
5个变量被添加到SortedDictionary<int, string>
,其中第一个数字是int
,字符串对应于SortedDictionary的string
部分。
0 "name 1"
1 "name 2"
2 "name 3"
现在删除了其中一个变量,因此字典填写如下:
0 "name 1"
2 "name 3"
最终,所有SortedDictionary条目都被添加到列表框中,我使用第一个数字作为插入的索引。您可以想象,当index 2
不存在时,index 1
尝试将项添加到index 0
时会出错,但DeleteVariable()
会这样做。
我想要解决的方法是当用户调用{{1}}方法并取消变量时,所有变量都应自动更新其值(数字),以便当SortedDictionary获取列表中的所有变量时框不再出错,因为所有数字都匹配(没有间隙)。
请告知。
答案 0 :(得分:7)
我会使用List而不是排序字典。您的号码将成为列表中的索引。这样,如果从列表中删除一个项目(可能使用list.RemoveAt(index)),所有其他索引将以您想要的方式有效地“更新”。