填补数字列表中的空白最简单的方法是什么?

时间:2010-06-29 12:48:00

标签: c# ms-word sorteddictionary

我在单一行中为标题解释问题时遇到了一些麻烦,但希望此说明能为您提供足够的洞察力以充分理解我的问题:

我在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获取列表中的所有变量时框不再出错,因为所有数字都匹配(没有间隙)。

请告知。

1 个答案:

答案 0 :(得分:7)

我会使用List而不是排序字典。您的号码将成为列表中的索引。这样,如果从列表中删除一个项目(可能使用list.RemoveAt(index)),所有其他索引将以您想要的方式有效地“更新”。