Tablice w języku C#

1. Wprowadzenie

  • Tablice to struktury danych pozwalające przechowywać wiele wartości tego samego typu w jednej zmiennej.
  • Każdy element tablicy posiada indeks, który zaczyna się od 0.
  • W C# istnieją różne rodzaje tablic:
    • jednowymiarowe,
    • wielowymiarowe (prostokątne i „jagged”),
    • dynamiczne (List<T> jako alternatywa).

2. Deklaracja i inicjalizacja tablicy

2.1. Deklaracja

2.2. Inicjalizacja z określeniem rozmiaru

2.3. Deklaracja i inicjalizacja w jednym kroku


3. Dostęp do elementów tablicy

  • Elementy odczytujemy i modyfikujemy przez indeks:
  • Próba odwołania się do indeksu spoza zakresu generuje IndexOutOfRangeException.

4. Iterowanie po tablicy

4.1. Pętla for

4.2. Pętla foreach


5. Tablice wielowymiarowe

5.1. Tablice prostokątne

  • Stała liczba wierszy i kolumn.
  • Iteracja:

5.2. Tablice „jagged” (ząbkowane)

  • Każdy wiersz może mieć różną długość.

6. Właściwości i metody tablic

  • Length – liczba elementów tablicy: liczby.Length.
  • Rank – liczba wymiarów tablicy: macierz.Rank.
  • GetLength(dim) – liczba elementów w danym wymiarze: macierz.GetLength(0).
  • Array.Sort(array) – sortowanie tablicy.
  • Array.Reverse(array) – odwrócenie kolejności elementów.
  • Array.IndexOf(array, value) – szukanie indeksu elementu.

7. Tablice jako parametry metod

  • Tablica może być przekazywana do metody jako parametr:
  • Tablice są przekazywane przez referencję, więc zmiany wewnątrz metody wpływają na oryginalną tablicę.

8. Tablice a pamięć

  • Tablica w C# jest obiektem na heapie.
  • Elementy są inicjalizowane domyślnymi wartościami:
    • liczby: 0,
    • bool: false,
    • referencje: null.

9. Tablice dynamiczne – alternatywa

  • Klasyczna tablica ma stały rozmiar.
  • Alternatywą jest List<T>, która może dynamicznie zmieniać rozmiar: