C # Список <двойной> размер против двойной [] размер

Так что я просто тестировалCLR Profiler от Microsoft, и я сделал небольшую программу, которая создала список с 1 000 000 двойников в нем. Я проверил кучу, и оказалось, что размер List <> составлял около 124 КБ (точно не помню, но это было около того). Это действительно потрясло мой мир, как это могло быть 124KB, если бы в нем было 1 миллион двойников? Во всяком случае, после этого я решил проверить двойной [1000000]. И, к моему удивлению (ну, не совсем, так как это то, что я ожидал от List <> = P), размер массива составляет 7,6 МБ. Огромная разница!!

Почему они разные? Как List <> управляет своими элементами так, что это (невероятно) эффективно использует память? Я имею в виду, это не так, как остальные 7,5 МБ были где-то еще, потому что размер приложения был примерно на 3 или 4 КБ больше после того, как я создал 1 миллион удваивается.

Ответы на вопрос(2)

Ваш ответ на вопрос