C# 什么';什么是填补数字列表空白的最简单方法?
我在标题的一行中解释这个问题时遇到了一些困难,但希望此描述能为您提供足够的洞察力,让您完全理解我的问题: 我在Word文档中有几个变量。每个变量都有一个C# 什么';什么是填补数字列表空白的最简单方法?,c#,ms-word,sorteddictionary,C#,Ms Word,Sorteddictionary,我在标题的一行中解释这个问题时遇到了一些困难,但希望此描述能为您提供足够的洞察力,让您完全理解我的问题: 我在Word文档中有几个变量。每个变量都有一个值,该值是一个数字(从0到变量数)。正在用这些变量填写SortedDictionary,但有可能以前删除过一个变量,所以可以说存在一个“间隙”。例如: 将5个变量添加到SortedDictionary中,其中第一个数字是int,字符串对应于SortedDictionary的字符串部分 0 "name 1" 1 "name 2" 2 "name 3
值
,该值是一个数字(从0到变量数)。正在用这些变量填写SortedDictionary
,但有可能以前删除过一个变量,所以可以说存在一个“间隙”。例如:
将5个变量添加到SortedDictionary
中,其中第一个数字是int
,字符串对应于SortedDictionary的字符串部分
0 "name 1"
1 "name 2"
2 "name 3"
现在删除了其中一个变量,因此字典的填写方式如下:
0 "name 1"
2 "name 3"
最后,所有SortedDictionary条目都被添加到一个列表框中,我使用第一个数字作为插入的索引。您可以想象,当索引1
不存在,但索引0
存在时,当它尝试将项目添加到索引2
中时,会出现错误
我想解决这个问题的方法是,当用户调用DeleteVariable()
方法并删除一个变量时,所有变量都应该自动更新其值(数字),因此当SortedDictionary获取所有变量时,列表框不再给出错误,因为所有数字都匹配(没有间隙)
请告知。我将使用列表而不是排序字典。您的号码将成为列表中的索引。这样,如果您从列表中删除一个项目(可能使用list.RemoveAt(index)),那么所有其他索引将以您想要的方式有效地“更新” 是的,我的想法也是如此(但我在回答中犯了一个错误,所以我会投你的票)。这太完美了。然后我可以根据列表的索引调整所有变量值。太棒了,谢谢你!