Tablice praktyczny przykład – tworzenie instancji tablicy.

3)  Tworzenie instancji tablicy

W poprzednim rozdziale utworzyłem instancje  tablicy monthsOfYear jawnie podając wszystkie wartości, które należy w niej umieścić. Format przy pomocy nawiasów klamrowych, nazywany jest inicjalizatorem kolekcji, ale użycie inicjalizatora teraz nie jest możliwe, ponieważ nie ma żadnego sposobu, na poznanie wartości w czasie tworzenia tablicy. Aplikacja musi umieścić miasta w tablicy, gdy wczyta je z pliku CSV. Więc teraz to zrobię, zamiast zwracać null zwracamy tablicę 7 miast.

Liczba 7 mówi .NET jak wiele wartości musi być w tablicy, ale nie mówią, jakie będą to wartości. Siedem, bo aplikacja będzie czytać i wyświetlać 7 najbardziej zaludnionych miast, i w ogóle w ten sposób tworzysz instancję tablicy jeśli nie masz jeszcze wartości, które można do niej wstawić. Format jest bardzo podobny do tworzenia instancji typu, nazwa typu, ale zauważ, że rozmiar tablicy jest podawany w nawiasach kwadratowych, nie w okrągłych nawiasach, których zwykle używasz podczas wywoływania konstruktora, a swoją drogą musisz podać rozmiar.
Jeśli nie powiem kompilatorowi, jak duża ma być tablica to będziemy mieć, błąd kompilacji.
Spójrz usuwam rozmiar

Podczas tworzenia tablicy musimy mieć rozmiar tablicy lub inicjalizator tablicy. To dlatego że .NET Framework po prostu nie można utworzyć instancji tablicy nie wiedząc, ile elementów będzie przechowywać, wpisuję z powrotem numer 7. Ale tak naprawdę wpisanie tutaj 7 nie jest najlepszym sposobem na zrobienie tego. W parametrze nCitys mamy już liczbę miast. Zamiast więc ponownie kodować tutaj 7, powinienem tutaj po prostu uzyć tej zmiennej.

A to mówi nam, że rozmiar tablicy nie musi być stały, co więc zawierają miasta w tym momencie?
Pokaże wam w debuggerze ustawię punkt przerwania zaraz po utworzeniu miast i uruchomię program w debuggerze. Program się zatrzymał, przenoszę kursor nad miasta i rozwijam.

I widać ze jest to tablica z 7 miastami, a każde miasto jest nullem i to ma sens ponieważ powiedziałem kompilatorowi że chcę tablicę 7 miast ale nie zainicjowałem żadnego z tych miast, i to jest ważna zasada w przypadku tablic. Kiedy tworzymy tablicę,  tablica zawsze ma wartości początkowe jeśli nie zainicjujesz tych wartości jawnie, wszystkie te wartości będą  nullami dla typów referencyjnych  i 0, jeśli jest to typ wartości taki jak int .

Cały kurs dostępny na Udemy

!!! Dodatkowo Prezent !!!

Książka „Wprowadzenie do kolekcji C#”

Kup kurs przez ten link. Jest to dla mnie ważne !!!