Если ваши требования к производительности строгие, вы должны измерить в вашей среде и ваши данные , прежде чем принимать решение.
Я предложу некоторые предположения, что вы должныне принимайте как должное, пока вы не выполните свои собственные измерения:
- Если вы заранее знаете количество элементов, просто используйте заранее выделенный
List
(или массив). - Если вы этого не сделаете:
- Используйте список кусков (то есть
LinkedList<List<T>>
), чтобы избежать List
изменения размера. - Или, для простоты, вы можете просто использовать
List
и понестинекоторое снижение производительности при изменении его размера для приема большего количества элементов.Я не уверен, оправдывает ли это наказание использование Dictionary
или LinkedList
вместо этого - но вы будете, если будете измерять;)
Все это по предположению васне волнует , где в коллекцию вставлен новый элемент и как вы извлекаете его позже ... Если вам нужно делать , то вы выберете свою структуру данных на основе это , а не просто вставить производительность в одиночку.