Я бы использовал словарь уникальных номеров и объектов - Dictionary <int, object>;
| Цитата | требуется, чтобы после удаления одного из объектов при создании уже нового объекта последнему назначался ключ ранее удаленного объекта. Если же свободных ключей ранее удаленных объектов уже нет, то генерировать новый ключ, следующий за максимальным.
|
Проверка на свободность ключа в цикле while.
| Код | var dictionary = new Dictionary<int, object>() { {1, new object()}, {2, new object()}, {4, new object()},}; var newId = 1; while (dictionary.ContainsKey(++newId)) ;
dictionary.Add(newId, new object());
|
В результате в словарь заносится новый объект с id=3. |