Я увидел этот ответ от Jon на Инициализировать универсальный объект с неизвестным типом:
Если вы хотите, чтобы одна коллекция содержат несколько несвязанных типов ценности, однако, вам придется использовать
List<object>
Я не сравниваю ArrayList vs List<>, а ArrayList vs List<object>, так как оба будут экспонировать элементы типа object. Какая польза от использования одного в этом случае?
РЕДАКТОР: Это не касается безопасности типов здесь, так как оба класса подвергают object как свой элемент. По-прежнему нужно отбрасывать от object до нужного типа. Меня больше интересует все, кроме безопасности типов.
EDIT: Спасибо, Марк Гравелл и Шон за ответ. Извините, я могу выбрать только 1 в качестве ответа, поэтому я проголосую за оба.