Deklarowanie HashMap
Część sekcji Logika i sterowanie przepływem ścieżki C# w Coddy. Lekcja 47 z 66.
W C# odpowiednikiem HashMap jest Dictionary. Umożliwia przechowywanie par klucz-wartość w celu szybkiego wyszukiwania.
Najpierw utwórzmy pusty słownik:
Dictionary<string, int> fruitInventory = new Dictionary<string, int>();Tworzy to słownik, w którym kluczami są ciągi znaków (nazwy owoców), a wartościami liczby całkowite (ilość).
Teraz dodajmy kilka elementów do naszego słownika:
fruitInventory.Add("Apple", 10);
fruitInventory.Add("Banana", 15);Po wykonaniu powyższego kodu nasza tablica fruitInventory zawiera:
- "Apple" → 10
- "Banana" → 15
Możesz również zainicjalizować słownik wartościami:
Dictionary<string, int> fruitInventory = new Dictionary<string, int>()
{
{ "Apple", 10 },
{ "Banana", 15 }
};Wyzwanie
ŚredniUtwórz metodę o nazwie CreateFruitInventory, która:
- Tworzy nowy słownik z kluczami typu string i wartościami typu int
- Dodaje następujące owoce i ich ilości:
- "Apple" w ilości 5
- "Banana" w ilości 10
- "Orange" w ilości 7
- Zwraca utworzony słownik
Spróbuj swoich sił
using System;
using System.Collections.Generic;
class Program
{
public static Dictionary<string, int> CreateFruitInventory()
{
// Napisz tutaj swój kod
}
static void Main(string[] args)
{
Dictionary<string, int> inventory = CreateFruitInventory();
// Wyświetl zawartość magazynu
foreach (var item in inventory)
{
Console.WriteLine($"{item.Key}: {item.Value}");
}
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i sterowanie przepływem
1Tablice wielowymiarowe
Podstawy tablic 2DDeklarowanie i inicjalizacja tablic 2DDostęp do elementów tablic 2DZagnieżdżone pętle z tablicami 2DTablice postrzępionePodstawowe operacje na macierzachPodsumowanie — tablice wielowymiarowe4Techniki sterowania przepływem
Wczesne zwrotyKlauzule ochronneInstrukcje skoku (goto)Break i continueSpłaszczanie zagnieżdżonych warunków7Zaawansowane operatory logiczne
Ewaluacja z krótkim spięciemWarunkowe operatory logicznePriorytet operatorówPowtórzenie — zaawansowane operatory2Zaawansowane podejmowanie decyzji
Wiele warunkówZłożona logika Boole’aPorównanie if i switchZagnieżdżone instrukcje switchPodsumowanie — zaawansowane decyzje5Obsługa wyjątków
Podstawy try-catchTypy wyjątkówWiele bloków catchPraca z plikamiBlok finallyusing a try-finallyWłasne wyjątkiPowtórzenie — obsługa błędów3Udoskonalenia pętli
Wydajność pętliIterowanie po złożonych strukturachKażdy typ pętliRefaktoryzacja pętliPodsumowanie — zoptymalizowane pętle6Obsługa wartości null
Podstawy referencji nullTypy wartości dopuszczające nullWzorce sprawdzania nullProgramowanie defensywnePodsumowanie — bezpieczeństwo null9HashMap część 1
Czym jest HashMap?Deklarowanie HashMapSprawdzanie, czy klucz istniejeDostęp do wartościModyfikowanie słownikówPodsumowanie — HashMapPoćwicz samodzielnie: Kompilator C# online