Вы сможете использовать методы расширения LINQ непосредственно с List<object>
, но не с ArrayList
, если вы не введете Cast<object>()
/ OfType<object>
(благодаря IEnumerable<object>
против IEnumerable
). Это стоит совсем немного, даже если вам не нужна безопасность типов и т. Д.
Скорость будет примерно одинаковой; структуры по-прежнему будут в штучной упаковке и т. д., так что больше нечего их различать. За исключением того, что я склонен видеть ArrayList
как "упс, кто-то снова пишет устаревший код ..."; -p