Een woordenboek is een handige gegevensstructuur waarmee u sleutel-waardeparen kunt opslaan. U kunt efficiënt toegang krijgen tot een waarde uit het woordenboek met behulp van de bijbehorende sleutel.
Woordenboeken in C# ondersteunen acties zoals het verwijderen van een waarde of het herhalen van de hele set waarden.
Wat is een woordenboek in C#?
Een C#-woordenboek is een van de belangrijkste datastructuren u kunt leren over. Het lijkt een beetje op de Java HashMap-gegevensstructuur. De sleutels moeten uniek zijn, maar ze kunnen van bijna elk type zijn. Een eenvoudig woordenboek gebruikt scalaire waarden.
Deze dataset heeft bijvoorbeeld een ID van een huisdier als sleutel en de naam van het huisdier als waarde:
{1001, "Mia"},
{1002, "Oscar"},
{1003, "Vogeltje"},
{1004, "Blauw"},
{1005, "Leeuw"},
{1006, "Travis"}
Met deze structuur kunt u toegang krijgen tot gegevens met behulp van de specifieke sleutel die naar een record verwijst. U kunt bijvoorbeeld het record ophalen met de waarde Vogeltje door ernaar te verwijzen met de opzoektoets 1003.
Een woordenboek maken
Om een woordenboek te maken, moet u het objecttype opgeven voor zowel de sleutel als de waarde.
- Maak het woordenboek. In dit voorbeeld is de sleutel een geheel getal en is de waarde voor elke record een tekenreeks.
Woordenboek<int, draad> huisdieren = nieuwe Woordenboek<int, draad>();
- U moet de gebruiken Systeem. Collecties. Algemeen namespace die de klasse Dictionary bevat. Zorg ervoor dat u dit bovenaan uw bestand doet:
gebruik makend van Systeem. Collecties. Algemeen;
Items toevoegen aan het woordenboek
U kunt items aan het woordenboek toevoegen tijdens of na de initialisatie.
- U kunt items toevoegen terwijl u het woordenboek initialiseert. Om dit te doen, voegt u enkele waarden tussen accolades toe na de eerste nieuwe Dictionary-instructie.
Woordenboek<int, draad> huisdieren = nieuwe Woordenboek<int, draad>()
{
{1001, "Mia"},
{1002, "Oscar"},
{1003, "Vogeltje"},
{1004, "Blauw"},
{1005, "Leeuw"},
{1006, "Travis"}
}; - Als u het woordenboek al hebt gemaakt, kunt u de ingebouwde Add()-methode van het woordenboek gebruiken.
huisdieren. Toevoegen(1007, "Besneeuwd");
U kunt geen waarde toevoegen voor een sleutel die al bestaat. Als u dit probeert, krijgt u een ArgumentException.
U kunt geen gebruiken nul waarde als de sleutel voor een vermelding in een woordenboek. U kunt echter een null-waarde in een woordenboek opslaan.
Objecten aan het woordenboek toevoegen
Als u een object-georiënteerd programmeren style, hebt u waarschijnlijk ten minste één klasse die u gebruikt om objecten mee te maken. Stel dat je een klas had waarin details over huisdieren werden opgeslagen:
U kunt objecten die met deze klasse zijn gemaakt, aan een woordenboek toevoegen.
- Zorg ervoor dat u het woordenboek maakt met het objecttype Huisdier dat is opgegeven voor de waarde.
Woordenboek<int, Huisdier> petObjects = nieuwe Woordenboek<int, Huisdier>();
- Maak je huisdierobject.
Huisdier mia = nieuwe Huisdier(1001, "Mia", nieuwe Datum Tijd(2010, 6, 29), 9.0,
nieuwe Datum Tijd(2022, 05, 02)); - Voeg het nieuwe huisdierobject toe aan het woordenboek.
huisdierObjecten. Toevoegen(1001, mia);
Een item in het woordenboek openen
U kunt een item in het woordenboek openen met behulp van de sleutel.
- Gebruik de variabelenaam voor het woordenboek, gevolgd door de sleutel rond een paar vierkante haken. Hiermee wordt het object geretourneerd dat in dat specifieke deel van het woordenboek is opgeslagen.
var huisdier = huisdierObjecten[1001];
Troosten. WriteLine (huisdiernaam);
Hoe te itereren over het woordenboek
U kunt een foreach loop om een woordenboek te herhalen:
- Gebruik een foreach om elke KeyValuePair in het woordenboek te herhalen. Ervan uitgaande dat je je iterator hebt gebeld binnenkomst, je hebt toegang tot de sleutel en waarde met behulp van binnenkomst. Sleutel en binnenkomst. Waarde.
foreach (KeyValuePair<int, Huisdier> vermelding in huisdierObjecten)
{
// druk de sleutel af
Troosten. Schrijflijn (invoer. Sleutel);// print de naam van het object voor dat record
Troosten. Schrijflijn (invoer. waarde.naam);
}
Een item in een woordenboek bijwerken
U kunt een item bijwerken door de waarde ervan in het woordenboek te overschrijven.
- Als u eenvoudige objecttypen in uw woordenboek heeft, kunt u een waarde van een record direct overschrijven.
huisdieren1001] = "Maya";
- Als u objecten aan uw woordenboek hebt toegevoegd, kunt u een waarde overschrijven naar een geheel nieuw object.
Huisdier konijntje = nieuwe Huisdier(1001, "Konijn", nieuwe Datum Tijd(2021, 8, 1), 3.0, nieuwe Datum Tijd(2021, 8, 4));
huisdierObjecten1001] = konijntje; - Als u een object in het woordenboek heeft, kunt u ook een enkele eigenschap bijwerken. U kunt de waarde van de eigenschap direct overschrijven of een setter gebruiken.
huisdierObjecten1001].name = "Maya";
// OF
huisdierObjecten1001].setName("Maya");
Een item in een woordenboek verwijderen
U kunt ervoor kiezen om een enkel item of alle items te verwijderen.
- Om een enkel item te verwijderen, gebruikt u de ingebouwde methode Remove() van het woordenboek. Voer als argument de sleutel in van het record dat u wilt verwijderen.
huisdierObjecten. Verwijderen(1002);
- Om alle items in het woordenboek te verwijderen, gebruikt u de ingebouwde Clear()-methode van het woordenboek
huisdierObjecten. Duidelijk();
Datastructuren in C#
In deze zelfstudie werd besproken hoe u een woordenboek in C# maakt en hoe u items aan het woordenboek toevoegt. Daarnaast is ook besproken hoe u het woordenboek kunt bijwerken, verwijderen en herhalen.
Als u uw woordenschat voor gegevensstructuren wilt verbeteren, kunt u beginnen met het verkennen van meer geavanceerde gegevensstructuren. Enkele voorbeelden hiervan zijn de Fibonacci Heap, AVL Tree of Red Black Tree.
3 geavanceerde datastructuren die elke programmeur zou moeten kennen
Lees volgende
Gerelateerde onderwerpen
- Programmeren
- Woordenboek
- Programmeren
Over de auteur
Sharlene is een Tech Writer bij MUO en werkt ook fulltime in Software Development. Ze heeft een Bachelor of IT en heeft eerdere ervaring in kwaliteitszorg en universitaire bijles. Sharlene houdt van gamen en piano spelen.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Klik hier om je te abonneren