我有一个集合< 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--
。