4. Tablice – Deklaracja, wprowadzanie wartości, inicjalizacja, tablice wielowymiarowe, prezentacja w Unity3D

4. Tablice – Deklaracja, wprowadzanie wartości, inicjalizacja, tablice wielowymiarowe, prezentacja w Unity3D
4 maja 2022 Brak komentarzy C#, Poradnik Tajko

Dzisiejszym tematem będą tablice z różnymi wymiarami. Pokażę w jaki sposób je zadeklarować, jak przypisać wartości, jak wyświetlić elementy z tablicy itp. Dodatkowo zobaczymy jeszcze przestrzennie przy pomocy Unity3D

Punkty w nagraniu:
  1. Deklaracja tablicy
  2. Wprowadzanie wartości
  3. Inicjalizacja tablicy
  4. Tablice wielowymiarowe
    1. Dwuwymiarowe
    1. Trójwymiarowe
  5. Przykładowy problem
  6. Prezentacja graficzna w Unity3D
  7. Przykłady z poziomu kodu + wyświetlanie w konsoli

Linki:

  • Projekt do pobrania: Link
  • Gra do pobrania: Link

1. Deklaracja tablicy

Tablicę deklarujemy podobnie jak inne zmienne, zaczynając od podania typu przechowywanych danych, potem dajemy kwadratowe nawiasy [] oraz nazwę tablicy kończąc średnikiem.

int[] ints;
string[] strings;

Zadeklarowano dwie tablicy, tablicę liczb całkowitych oraz tablicę ciągów znaków


2. Wprowadzanie wartości

int[] table = new int[3];
table[0] = 1;  // [0] - 1
table[1] = 2;  // [1] - 2
table[2] = 3;  // [2] - 3

Żeby wprowadzić, a dokładniej żeby przypisać wartość do poszczególnych elementów w tablicy, musimy odwołać się do danego elementu po indeksie. Czyli podajemy nazwę tablicy i w kwadratowych nawiasach podajmy indeks. W tablicach indeks zaczyna się od 0, więc mając tablicę 3 elementową, pierwszy element będzie miał indeks 0, a ostatni indeks 2.


3. Inicjalizacja tablic

int[] table = new int[] { 11, 22, 33 };
int[] ints = { 1, 2, 3 };
string[] strings = { "Tajko", "Goku", "Rias" };

Zamiast rozdzielać deklarację tablicy oraz przypisywanie wartości, możemy połączyć to w jeden krok. Dodatkowo można to zrobić na parę sposobów. Pierwszy z nich widzicie obok, deklarujemy tablicę ustalając od razu jej rozmiar i wprowadzamy wartości

int[] ints = { 1, 2, 3 };
string[] strings = { "Tajko", "Goku", "Rias" };

// Tajko - indeks 0
// Goku - indeks 1
// Rias - indeks 2

Krótszym sposobem jest pominięcie pisania new int[] i od razu podanie wartości, które nas interesują. W tym przykładzie utworzyliśmy tablicę liczb całkowitych z wartościami 1, 2, 3 oraz tablicę ciągów znaków z wartościami Tajko, Goku, Rias


4. Tablice wielowymiarowe

Tablica jedno, dwu i trójwymiarowa

4.1. Tablice dwuwymiarowe

Tworzenie tablicy dwuwymiarowej wygląda bardzo podobnie do tablicy jednowymiarowej. Z lewej strony w kwadratowych nawiasach musimy dodać przecinek oraz z prawej strony zamiast podawać jednej liczby, podajemy dwie. W powyższym przykładzie utworzono tablicę dwuwymiarową z wartościami liczb całkowitych, która ma 6 elementów z czego są to 3 wiersze oraz 2 kolumny.

Sprawdzenie liczby elementów w tablicy

Liczbę elementów w tablicy można sprawdzić w bardzo prosty sposób. Podam dwa proste przykłady:

  • Pomnożenie wartości w nawiasach np. mając .. new int[3, 2] wyjdzie 3 * 2 = 6, więc tablica ma 6 elementów.
  • Można też wykorzystać właściwość Length, która zwraca długość/wielkość tablicy
Przypisanie wartości do tablicy
int[] table2D = new int[3,2];
table2d[0,0] = 1;
table2d[0,1] = 2;
table2d[1,0] = 3;
table2d[1,1] = 4;
table2d[2,0] = 5;
table2d[2,1] = 6;

W przykładzie utworzono tablicę dwuwymiarową 3 na 2. Żeby przypisać wartości w poszczególne miejsca, odwołujemy się do nich po indeksie, czyli podajemy nazwę tablicy i w kwadratowych nawiasach podajemy odpowiedni indeks i po znaku równa się, przypisujemy konkretną wartość.

Podczas debugowania, gdy najedziemy kursorem na tablicę, wyświetli nam jej elementy, a dokładniej indeks i przypisaną wartość

Deklaracja z inicjalizacją
Deklaracja tablicy włącznie z inicjalizacją i określeniem rozmiaru tablicy
Krótsza deklaracja z inicjalizacją, bez ręcznego podawania rozmiaru tablicy

4.2. Tablice trójwymiarowe

Z tablicami trójwymiarowymi sprawa wygląda prawie tak samo jak z poprzednimi, dodajemy kolejny przecinek i liczbę przy tworzeniu.

Deklaracja tablicy trójwymiarowej o wymiarach 3x3x3 i podgląd wartości oraz indeksów
Ręczne przypisanie wartości do poszczególnego elementu w tablicy i w komentarzu wyświetlenie indeksu oraz wartości, która została przypisana.
Deklaracja tablicy trójwymiarowej 2x2x2 z inicjalizacją wartości. Jednocześnie wyświetlony podgląd elementów w tablicy (indeksy + wartości)

5. Przykładowy problem

Powyżej pokazano problem z przypisaniem wartości pod indeks, który nie występuje w tablicy. Zakładając, że mamy tablicę dwuwymiarową o wymiarach 3×2, to maksymalnym indeksem będzie [2,1], a powyżej próbowano przypisać wartość do elementu z indeksem [0,2], czyli druga część indeksu nam nie pasuje

6. Prezentacja graficzna w Unity3D

Zamiast przedstawiać tablice 1-2-3D na normalnym obrazku, coś mnie skusiło żeby podłubać w Unity3D hehe, z faktu, że mega długo tam nie siedziałem to zacząłem grzebać no i z prostych, statycznych kostek wygrzebałem tak, że generuję z poziomu kodu i dodałem trochę innych efektów, kit, że zajęło to wieczorami parę dni no ale udało się:). Poniżej macie przykładowe screeny jak i tzw. gierka jest możliwa do pobrania wyżej jak i sam projekt

Tablica jednowymiarowa
Tablica dwuwymiarowa
Tablica trójwymiarowa
Tagi
O Autorze
Tajko
Tajko Tajko z tej strony:) Obecnie pracuję we Wrocławiu przy projektach desktopowych. Skoro sam się czegoś nauczyłem to i inni mogliby nauczyć się tego co ja w łopatologiczny sposób:)

ZOSTAW ODPOWIEDŹ