我有一個集合< int's>。請收藏幫助
1
2
3
當我除去,例如,二,收集變得1,3。 然而,當我去添加其他項目,因爲序列基於關閉在收集
的項目數列表變得
1
3
3
有一種簡單的方法來重新排序。上面的例子中,我顯示1,3應該重新排列到1,2然後下一個新項目將是3.
我有一個集合< int's>。請收藏幫助
1
2
3
當我除去,例如,二,收集變得1,3。 然而,當我去添加其他項目,因爲序列基於關閉在收集
的項目數列表變得
1
3
3
有一種簡單的方法來重新排序。上面的例子中,我顯示1,3應該重新排列到1,2然後下一個新項目將是3.
你可以每次你刪除使用Enumerable.Range
對象時重寫你的列表中,這樣的代碼,你會是這樣的:
//execute this after remove element
void Resequence()
{
myList = Enumerable.Range(1, myList.Count).ToList();
}
所以添加會是這樣的
void AddElement(){
myList.Add(myList.Count + 1);
}
注意:在add元素中,如果列表爲zeroBased,則應刪除+1。
這聽起來像你的列表可以用一個整數變量替換,因爲你所有這裏的「存儲」是列表中項目的(從1開始)索引。從1到n創建一個「列表」只會是int count = n
。測試項目是否在列表中變成if (item <= count)
。添加一個項目將是count++
,並刪除count--
。