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]); // MonNumerowanie 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]); // WedZmienianie 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]); // 99Wł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); // 4Ostatni 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]); // 8Operator 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]); // 8Kompletny 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: 3Sprawdzanie 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]); // 3Length 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); // 3Szybkie 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
- Deklarowanie tablic
- Indeksowanie i długość
- Iterowanie po tablicach
- Tablice wielowymiarowe