请收集帮助

本文关键字:帮助 | 更新日期: 2023-09-27 17:56:00

我有一个集合

1
2
3

例如,当我删除 2.集合变为 1,3。但是,当我去添加另一个项目时,列表变成了

1
3
3

因为序列基于集合中的项目计数

有没有一种简单的方法来重新排序。上面我显示 1,3 的示例应该重新排序为 1,2,然后下一个新项目将是 3。

请收集帮助

听起来您的列表可以用整数变量替换,因为您在这里"存储"的只是列表中项目的(基于 1)索引。创建一个从 1 到 n 的"列表"只是int count = n.测试项目是否在列表中将变为if (item <= count) 。添加项目将count++,删除count--

每次使用 Enumerable.Range 删除对象时,您都可以重写列表,因此您的代码将是这样的:

    //execute this after remove element
void Resequence()
        {
            myList = Enumerable.Range(1, myList.Count).ToList();
        }

所以添加将是这样的

void AddElement(){
   myList.Add(myList.Count + 1);
}

注意:在添加元素中,如果列表为零,则应删除+1。