У меня есть вопрос относительно того, как управляется память для Generics строгого типа
List<int> ints1 = new List<int>();
ints1.Add(1); ints1.Add(2); ints1.Add(3);
int[] ints2 = new int[10]();
ints2.Add(6); ints2.Add(7); ints2.Add(8);
Вопрос 1: Я предполагаю, что ints1 инициализируется новым ключевым словом ( new List
) он становится ссылочным типом. Где значения 1,2,3 хранятся в памяти (хранятся ли они в стеке или в куче)?
Вопрос 2: Я знаю кое-что между List
и int []
, List
может масштабировать свой размер до любого размера во время выполнения, что ограничено в int []
во время компиляции. Итак, если значения 1, 2, 3 и сохранены в стеке, если новый элемент добавлен в List
, скажем, 4, он не будет продолжаться до первых 3 справа, так как же ints1 знает ячейку памяти 4?