Tablice, wycinki, List<T>, Dictionary<TKey,TValue>
Twórz i używaj tablic, kopiuj wycinki oraz pracuj z List i Dictionary na potrzeby dynamicznych elementów i wyszukiwania po kluczach.
Tablice, wycinki, List<T>, Dictionary<TKey,TValue> to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 1 z 3. 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 3 lekcji w sumie.
Przegląd lekcji
Cel: Wybór odpowiedniego kontenera.
- Array: stały rozmiar, szybkie indeksowanie
- List<T>: zwiększa i zmniejsza rozmiar
- Dictionary<TKey,TValue>: szybkie wyszukiwanie po kluczu
- Prosty fragment tablicy tworzony przez kopiowanie
Podstawy tablic
Tablice mają stały rozmiar i obsługują indeksowanie. Należy używać Length oraz indeksów liczonych od zera.
using System;
public class Program
{
public static void Main(string[] args)
{
int[] nums = new int[] { 10, 20, 30 };
Console.WriteLine("Length = " + nums.Length);
Console.WriteLine("First = " + nums[0]);
Console.WriteLine("Last = " + nums[nums.Length - 1]);
// Update by index
nums[1] = 25;
Console.WriteLine("Updated middle = " + nums[1]);
}
}
Fragment tablicy przez kopiowanie
W języku C# 6 nie ma operatora zakresu. Należy utworzyć małą metodę pomocniczą z użyciem Array.Copy do kopiowania fragmentu.
using System;
public class Program
{
// Copy a slice [start, start+count) into a new array
public static int[] Slice(int[] src, int start, int count)
{
int[] dst = new int[count];
Array.Copy(src, start, dst, 0, count);
return dst;
}
public static void Main(string[] args)
{
int[] data = new int[] { 5, 6, 7, 8, 9 };
int[] middle = Slice(data, 1, 3); // {6,7,8}
Console.WriteLine("Slice len=" + middle.Length + " first=" + middle[0] + " last=" + middle[middle.Length - 1]);
}
}
Podstawy List<T>
List<T> automatycznie zmienia rozmiar. Należy używać Add/Insert/Remove oraz Count.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
List<string> items = new List<string>();
items.Add("apple");
items.Add("banana");
items.Insert(1, "kiwi"); // apple, kiwi, banana
Console.WriteLine("Count = " + items.Count);
Console.WriteLine("Second = " + items[1]);
items.Remove("apple");
Console.WriteLine("After remove, first = " + items[0]);
}
}
Podstawy Dictionary
Dictionary przechowuje pary klucz-wartość. Do bezpiecznego wyszukiwania należy używać ContainsKey/TryGetValue.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Ada"] = 28; // add
ages["Alan"] = 35; // add
ages["Alan"] = 36; // update
int value;
if (ages.TryGetValue("Ada", out value))
{
Console.WriteLine("Ada age = " + value);
}
Console.WriteLine("Has Grace? " + ages.ContainsKey("Grace"));
}
}
Wybór kolekcji
Należy wybrać:
- Array w przypadku stałego rozmiaru i indeksowania numerycznego
- List<T>, gdy rozmiar się zmienia
- Dictionary<K,V>, gdy dostępne są unikatowe klucze
- Fragmenty kopiować za pomocą metody pomocniczej Array.Copy
Wybór wyszukiwania po kluczu
Podsumowanie
Podsumowanie: Tablice mają stały rozmiar; fragmenty należy kopiować za pomocą Array.Copy. Do list o zmiennym rozmiarze należy używać List<T>, a do szybkiego wyszukiwania po kluczu — Dictionary<K,V>.
Często zadawane pytania
Czy lekcja „Tablice, wycinki, List<T>, Dictionary<TKey,TValue>” jest bezpłatna?
Tak — pełny tekst „Tablice, wycinki, List<T>, Dictionary<TKey,TValue>” 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 3 lekcji w sumie.
Co nauczysz się w „Tablice, wycinki, List<T>, Dictionary<TKey,TValue>”?
Twórz i używaj tablic, kopiuj wycinki oraz pracuj z List i Dictionary na potrzeby dynamicznych elementów i wyszukiwania po kluczach. Ć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 1 z 3.
Ile czasu zajmuje lekcja „Tablice, wycinki, List<T>, Dictionary<TKey,TValue>”?
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
- Tablice, wycinki, List , Dictionary
- Wzorce foreach i inicjalizatory kolekcji
- Wprowadzenie do LINQ: Where, Select, OrderBy, Take/Skip; wykonanie odroczone