Witam,
Przesiadam się właśnie z C++ na C# i nie wszystko jeszcze jest dla mnie w tym języku jasne, dlatego moje pytanie może się komuś wydać banalne. :) Ale do rzeczy:
W C++ żeby zmienić długość tablicy dynamicznie tworzonej na jakimś wskaźniku (załóżmy, że jest pusta) trzeba było ją najpierw usunąć, a potem zadeklarować na tym wskaźniku nową tablicę, o tak:
int * tab = new int[10];
// tu jakieś operacje na tejże tablicy...
delete [] tab;
tab = new int[20];
Jeśli podobny kod napiszę w C#, to nie wyrzuca mi żadnego błędu - czy mam rozumieć, że odzyskiwanie pamięci jest tutaj uruchamiane automatycznie i kompilator sam zajmuje usunięciem niepotrzebnej tablicy? Dobrze to rozumiem, czy coś popitoliłem? :-)
int[] tab = new int[10];
//...
tab = new int[20];