2010-06-29 73 views
5

我在解釋標題的單行問題時遇到了一些麻煩,但希望以下描述能夠爲您提供足夠的見解以充分理解我的問題:填補數字列表中的空白最簡單的方法是什麼?

我在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 2index 1不存在,但是index 0會嘗試添加一個項目時會出錯。

我想解決這個問題的方式是當用戶調用DeleteVariable()方法並將一個變量帶走時,所有變量都應該自動更新它們的值(數字),這樣當SortedDictionary獲取所有變量時,列表框不再由於所有數字都匹配(沒有間隙),因此會出現錯誤。

請指教。

回答

7

我會使用列表而不是排序的字典。您的號碼將成爲列表中的索引。這樣,如果你從列表中刪除一個項目(使用可能list.RemoveAt(索引)),所有其他指標將有效地「更新」以你想要的方式。

+0

是的,我的想法(但我在我的答案中犯了一個錯誤,所以我會投你的票)。 – 2010-06-29 12:54:49

+0

這很完美。然後我可以根據列表的索引來調整所有的變量值。輝煌,謝謝! – Fusyion 2010-06-29 12:56:43