C# Academy · Lekcja

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.

Lekcja 1 z 38 kroki

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

Szybkie sprawdzenie: Która kolekcja jest najlepsza, gdy potrzebne jest szybkie wyszukiwanie po unikatowym 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>.

Bezpłatny start

Ucz się C# dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
93
Lekcje
346

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

  1. Tablice, wycinki, List , Dictionary
  2. Wzorce foreach i inicjalizatory kolekcji
  3. Wprowadzenie do LINQ: Where, Select, OrderBy, Take/Skip; wykonanie odroczone
← Powrót do C# Academy