Kolekcje w C#: listy, słowniki i kolejki
Poznaj kolekcje języka C#, aby efektywnie zarządzać dynamicznymi danymi
Kolekcje w C#: listy, słowniki i kolejki to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 6 z 6. 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 6 lekcji w sumie.
Praca z kolekcjami: listy, słowniki i kolejki
Praca z kolekcjami: listy, słowniki i kolejki
Witamy w następnej lekcji! W tej lekcji dowiedzą się Państwo, czym są kolekcje w języku C#, w tym listy, słowniki i kolejki, oraz jak skutecznie używać ich w programach. Zaczynajmy!

Czym są kolekcje?
Czym są kolekcje?
Kolekcje w języku C# to klasy służące do przechowywania i zarządzania grupami powiązanych obiektów. W przeciwieństwie do tablic kolekcje są dynamiczne oraz oferują większą elastyczność i funkcjonalność.
Najważniejsze: Kolekcje ułatwiają pracę z grupami danych, udostępniając wbudowane metody dodawania, usuwania i wyszukiwania elementów.
Praca z listami
Praca z listami
Lista to kolekcja, która może zawierać duplikaty i zachowuje kolejność elementów. Przykład:
Wskazówka: Należy używać list, gdy trzeba przechowywać i modyfikować uporządkowane kolekcje danych.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
names.Add("Diana"); // Add an element
names.Remove("Bob"); // Remove an element
Console.WriteLine("Names:");
foreach (string name in names) {
Console.WriteLine(name);
}
}
}
Praca ze słownikami
Praca ze słownikami
Słownik to kolekcja par klucz-wartość. Każdy klucz jest unikatowy i służy do uzyskiwania dostępu do powiązanej z nim wartości. Przykład:
Najważniejsze: Słowniki idealnie nadają się do sytuacji, w których potrzebne jest szybkie wyszukiwanie na podstawie unikatowych kluczy.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Dictionary<string, int> ages = new Dictionary<string, int> {
{ "Alice", 25 },
{ "Bob", 30 },
{ "Charlie", 35 }
};
ages["Diana"] = 28; // Add a key-value pair
ages.Remove("Bob"); // Remove a key-value pair
Console.WriteLine("Ages:");
foreach (var entry in ages) {
Console.WriteLine($"{entry.Key}: {entry.Value}");
}
}
}
Praca z kolejkami
Praca z kolejkami
Kolejka to kolekcja działająca zgodnie z zasadą pierwsze weszło, pierwsze wyszło (FIFO). Elementy są dodawane na końcu i usuwane z początku. Przykład:
Wskazówka: Należy używać kolejek w przypadku zadań, które muszą być przetwarzane w kolejności ich dodania.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Queue<string> tasks = new Queue<string>();
tasks.Enqueue("Task 1"); // Add to the queue
tasks.Enqueue("Task 2");
tasks.Enqueue("Task 3");
Console.WriteLine("Processing tasks:");
while (tasks.Count > 0) {
Console.WriteLine(tasks.Dequeue()); // Remove from the queue
}
}
}
Porównanie kolekcji
Porównanie kolekcji
Oto krótkie porównanie kolekcji:
- Lista: Zachowuje kolejność, pozwala na duplikaty i zapewnia dostęp za pomocą indeksu.
- Słownik: Przechowuje pary klucz-wartość, umożliwiając szybkie wyszukiwanie.
- Kolejka: Przetwarza elementy w kolejności pierwsze weszło, pierwsze wyszło.
Wskazówka: Należy wybrać typ kolekcji najlepiej dopasowany do danego zastosowania.
Zadanie praktyczne
Zadanie praktyczne
Proszę utworzyć program, który używa słownika do przechowywania cen produktów oraz kolejki do symulowania obsługi klientów przy kasie. Przykład:
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Dictionary<string, double> products = new Dictionary<string, double> {
{ "Apple", 0.5 },
{ "Banana", 0.3 },
{ "Carrot", 0.2 }
};
Queue<string> customers = new Queue<string>();
customers.Enqueue("Customer 1");
customers.Enqueue("Customer 2");
Console.WriteLine("Processing customers:");
while (customers.Count > 0) {
string customer = customers.Dequeue();
Console.WriteLine($"{customer} is buying:");
foreach (var product in products) {
Console.WriteLine($"- {product.Key}: ${product.Value}");
}
}
}
}
Najlepsze praktyki dotyczące kolekcji
Najlepsze praktyki dotyczące kolekcji
Oto kilka najlepszych praktyk:
- Należy wybrać odpowiedni typ kolekcji na podstawie wymagań, takich jak szybkie wyszukiwanie, zachowanie kolejności lub przetwarzanie FIFO.
- Należy używać kolekcji generycznych, takich jak
List<T>iDictionary<TKey, TValue>, aby zapewnić bezpieczeństwo typów. - Przed uzyskaniem dostępu do elementów należy zawsze sprawdzić, czy kolekcje nie mają wartości null i nie są puste.
Wskazówka: Prawidłowe zarządzanie kolekcjami może zwiększyć wydajność i czytelność kodu.
Świetna robota!
Świetna robota!
Gratulacje! Nauczyli się Państwo, jak używać list, słowników i kolejek do dynamicznego zarządzania danymi w języku C#. To kończy kategorię „Zaawansowane pojęcia programistyczne”. Kontynuujmy kodowanie i poznawajmy kolejne zaawansowane zagadnienia na drodze rozwoju programistycznego!

Często zadawane pytania
Czy lekcja „Kolekcje w C#: listy, słowniki i kolejki” jest bezpłatna?
Tak — pełny tekst „Kolekcje w C#: listy, słowniki i kolejki” 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 6 lekcji w sumie.
Co nauczysz się w „Kolekcje w C#: listy, słowniki i kolejki”?
Poznaj kolekcje języka C#, aby efektywnie zarządzać dynamicznymi danymi Ć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 6 z 6.
Ile czasu zajmuje lekcja „Kolekcje w C#: listy, słowniki i kolejki”?
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
- Wprowadzenie do interfejsów
- Klasy abstrakcyjne
- Elementy i metody statyczne
- Poznawanie wyliczeń i struktur
- Delegaty i zdarzenia
- Kolekcje w C#: listy, słowniki i kolejki