0Pricing
C# Academy · Lekcja

Indeksowanie i długość

Bezpiecznie uzyska Pan/Pani dostęp do elementów.

Indeksowanie i długość to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 4 lekcji w sumie.

Odczytywanie za pomocą indeksu

Każdy element tablicy ma pozycję nazywaną indeksem. Aby odczytać wartość, należy umieścić indeks w nawiasach kwadratowych za nazwą tablicy.

Indeksy zaczynają się od 0, więc pierwszy element znajduje się pod indeksem 0.

string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[0]); // Mon

Numerowanie od zera

Ponieważ indeksy zaczynają się od 0, drugi element ma indeks 1, a trzeci — indeks 2.

Numerowanie od zera często sprawia początkującym trudność, dlatego warto pamiętać: indeks = pozycja minus jeden.

string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[1]); // Tue
Console.WriteLine(days[2]); // Wed

Zmienianie elementu

Dowolny element można nadpisać, przypisując nową wartość do jego indeksu.

W tym przykładzie zastępujemy wartość pod indeksem 1. Długość tablicy się nie zmienia — zmienia się tylko przechowywana wartość.

int[] nums = { 5, 6, 7 };
nums[1] = 99;
Console.WriteLine(nums[1]); // 99

Właściwość Length

Każda tablica ma właściwość Length, która informuje, ile elementów zawiera.

Jest to wygodne, ponieważ nie trzeba samodzielnie pamiętać jej rozmiaru.

int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums.Length); // 4

Ostatni element

Ostatni prawidłowy indeks to zawsze Length - 1, ponieważ numerowanie zaczyna się od 0.

Użycie Length - 1 pozwala znaleźć ostatni element bez wpisywania liczby na stałe.

int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[nums.Length - 1]); // 8

Operator indeksu od końca

C# oferuje skrócony zapis umożliwiający liczenie od końca za pomocą operatora ^. ^1 oznacza ostatni element, a ^2 — przedostatni.

To przejrzysty sposób na pobranie elementu z końca bez zapisywania Length - 1.

int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[^1]); // 8

Kompletny program

Ten kompletny program wyświetla pierwszy element, ostatni element oraz całkowitą długość tablicy.

Proszę go uruchomić, aby zobaczyć wszystkie trzy wartości.

int[] nums = { 10, 20, 30 };
Console.WriteLine("First: " + nums[0]);
Console.WriteLine("Last: " + nums[nums.Length - 1]);
Console.WriteLine("Count: " + nums.Length);

Błędy wyjścia poza zakres

Jeśli użyje się zbyt dużego lub ujemnego indeksu, C# zgłosi wyjątek IndexOutOfRangeException, a program ulegnie awarii.

Dla tablicy o długości 3 prawidłowe indeksy to tylko 0, 1 i 2. Indeks 3 jest o jeden krok za daleko.

int[] nums = { 1, 2, 3 };
// nums[3] would throw IndexOutOfRangeException
Console.WriteLine(nums[2]); // safe: 3

Sprawdzanie przed dostępem

Aby uniknąć awarii, przed użyciem indeksu należy sprawdzić, czy mieści się on w zakresie.

Bezpieczny indeks musi być większy lub równy 0 i mniejszy niż Length.

int[] nums = { 1, 2, 3 };
int i = 5;
if (i >= 0 && i < nums.Length)
    Console.WriteLine(nums[i]);
else
    Console.WriteLine("Out of range");

Używanie Length w obliczeniach

Ponieważ Length jest zwykłą liczbą całkowitą, można używać jej w obliczeniach, na przykład podczas znajdowania środkowego indeksu.

W tym przykładzie obliczamy środkową pozycję tablicy.

int[] nums = { 1, 2, 3, 4, 5 };
int mid = nums.Length / 2;
Console.WriteLine(nums[mid]); // 3

Length jest tylko do odczytu

Nie można zmienić wartości Length, aby zmienić rozmiar tablicy. Po utworzeniu tablica ma stały rozmiar.

Jeśli potrzebny jest inny rozmiar, należy utworzyć nową tablicę. Kolekcje takie jak List<T> sprawdzają się lepiej, gdy rozmiar musi się zwiększać.

int[] nums = { 1, 2, 3 };
// nums.Length = 5; // error: read-only
Console.WriteLine(nums.Length); // 3

Szybkie sprawdzenie

Sprawdź swoją znajomość indeksów i długości tablicy.

Podsumowanie

Nauczyłeś się odczytywać i zmieniać elementy za pomocą indeksów, wiesz już też, że indeksowanie zaczyna się od zera, a ostatni indeks to Length - 1.

Właściwość Length zlicza elementy, operator ^ umożliwia liczenie od końca, a wyjście poza zakres powoduje zgłoszenie wyjątku. Następnie przejdziesz w pętli przez każdy element.

Często zadawane pytania

Czy lekcja „Indeksowanie i długość” jest bezpłatna?

Tak — pełny tekst „Indeksowanie i długość” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Indeksowanie i długość”?

Bezpiecznie uzyska Pan/Pani dostęp do elementów. Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć C# Academy?

Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Indeksowanie i długość”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?

Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Deklarowanie tablic
  2. Indeksowanie i długość
  3. Iterowanie po tablicach
  4. Tablice wielowymiarowe
← Powrót do C# Academy