Я пытаюсь создать пул объектов в C #, но не могу найти правильную структуру данных для этой задачи.Список выглядел многообещающе с удалением данных с конца, но, к сожалению, он упускает столь необходимую функцию, как сочетание GetRange () и RemoveRange ().Использование обоих методов один за другим нежелательно, так как создает новый список и копирует результат, таким образом выделяя мусор.Это особенно раздражает при работе с изменчивыми структурами.Я хорошо знаю, что использование изменяемых структур не рекомендуется, но по какой-то причине Unity Team решила реализовать Vector3 как структуру.
Кроме того, я думал об использовании ArraySegment, но этот подход кажется грязным.Стек также был многообещающей коллекцией, но, к сожалению, не содержит PopRange (), PushRange ().
Кто-нибудь знает о третьем списке или другой коллекции, которая содержит такое поведение?