c list dictionary tutorial with code examples
Deze tutorial legt de C # -lijst en het woordenboek uit met voorbeelden. U leert hoe u elementen in C # Dictionary en List kunt initialiseren, invullen en openen:
In onze eerdere tutorial over C # Collections hebben we geleerd over soorten verzamelingen die aanwezig zijn in de C #, zoals ArrayList, Hashtable, Stack, SortedList, enz. Het ding dat veel voorkomt bij deze soorten verzamelingen is dat ze elk type gegevensitem kunnen opslaan.
Dit lijkt heel handig voor het opslaan van verschillende gegevenstypen binnen een enkele verzamelingsentiteit, maar het nadeel is dat bij het ophalen van gegevens uit de verzameling datacasting naar een toepasselijk gegevenstype vereist is. Zonder datacast genereert het programma een runtime-uitzondering en kan het de toepassing belemmeren.
GRATIS C # trainingshandleidingen voor iedereen
Om deze problemen op te lossen, biedt C # ook generieke verzamelingsklassen. Een generieke collectie biedt betere prestaties tijdens het opslaan en ophalen van de items.
Wat je leert:
- C # lijst
- C # Woordenboek
- Gevolgtrekking
C # lijst
We hebben al geleerd over de ArrayList in de vorige artikelen. In wezen is een lijst vergelijkbaar met een ArrayList, met als enige verschil dat de lijst generiek is. De lijst heeft de unieke eigenschap dat hij groter wordt naarmate hij groter wordt, vergelijkbaar met de arraylijst.
Hoe een lijst initialiseren?
We kunnen een lijst op de volgende manieren initialiseren:
Als je naar het bovenstaande voorbeeld kijkt, kun je zien dat we op de eerste regel List hebben gebruikt om een lijst met gehele getallen te initialiseren. Maar in de tweede regel hebben we IList gebruikt voor de initialisatie van de stringlijst. U kunt elk van deze gebruiken voor uw programma. De lijst is eigenlijk de implementatie van de interface IList.
Hoe een element aan de lijst toevoegen en invoegen?
Net als bij de ArrayList kunnen we een element aan de lijst toevoegen met de methode Add (). De add-methode accepteert de gegevenstypewaarde als een argument.
Syntaxis
Laten we eens kijken naar een eenvoudig programma om gegevens aan een lijst en IList toe te voegen.
Programma:
Het element kan ook direct worden toegevoegd tijdens het initialiseren van de lijst. We kunnen de waarde direct aan de lijst toevoegen op het moment van initialisatie zelf, op een vergelijkbare manier als tijdens ons hoofdstuk over Arrays.
Dit kan worden toegevoegd door accolades achter de lijst te plaatsen en vervolgens de waarde erin te schrijven, gescheiden door komma's. Laten we het bovenstaande programma een beetje veranderen, zodat we de waarde direct tijdens de initialisatie kunnen toevoegen.
hoe u de standaardgateway beschikbaar maakt
Dus ons programma ziet er nu uit als:
In het bovenstaande programma hebben we de integer-lijstwaarden geïnitialiseerd aan het begin tijdens de initialisatie. Hierdoor konden we de waarde rechtstreeks doorgeven zonder de methode Add () voor elke waarde te schrijven. Dit is erg handig als we een beperkte kwantificeerbare hoeveelheid gegevens hebben die we in een lijst moeten plaatsen.
Hoe toegang krijgen tot de lijst?
We hebben toegang tot afzonderlijke items uit de lijst met behulp van de index. De index kan worden doorgegeven tussen vierkante haakjes achter de naam van de lijst.
Syntaxis
Laten we nu eens kijken naar een eenvoudig programma om de gegevens op te halen uit de lijst die we in ons vorige programma hebben gemaakt.
Programma
De uitvoer van het volgende programma is de waarde op index 1. De index begint bij 0, de uitvoer is:
twee
Laten we nu zeggen dat we alle gegevens uit de lijst willen halen, we kunnen dit doen door de for-each-lus of voor een lus te gebruiken.
Voor elke lus
We kunnen voor elke lus alle gegevens uit de lijst halen.
Hier hebben we de lijst doorlopen met voor elke lus door een variabele waarde te declareren. Dit zal elke lus door de lijst toelaten totdat er wat gegevens in staan.
For loop
Om de for-lus te gebruiken, moeten we het aantal elementen in de lijst weten. De methode Count () kan worden gebruikt om de telling van het element op te halen.
Soms moeten we ook een nieuw element in de lijst invoegen. Om dat te doen, moeten we de methode Insert () gebruiken om een nieuwe methode overal in de lijst toe te voegen. De invoegmethode accepteert twee argumenten, de eerste is de index waarin u de gegevens wilt invoegen en de tweede is de gegevens die u wilt invoegen.
De syntaxis voor de insert is:
Laten we nu een element invoegen in de lijst die we eerder hebben gemaakt. We zullen een invoeginstructie aan het bovenstaande programma toevoegen en zullen proberen te zien hoe het werkt:
Als we het bovenstaande programma uitvoeren, is de uitvoer:
1
twee
3
Lijstwaarde na het invoegen van een nieuwe waarde
1
22
twee
3
Na de for-lus hebben we de instructie insert toegevoegd om integer 22 in te voegen op index 1 in de eerder gedefinieerde lijst. Vervolgens hebben we voor elke lus een geschreven om alle elementen af te drukken die nu in de lijst aanwezig zijn (na het invoegen van de eerste gegevens).
We kunnen duidelijk aan de output zien dat alle elementen van de lijst naar voren zijn verschoven om plaats te maken voor het nieuwe element op index 1. De index 1 heeft nu 22 als element en het vorige element op index 1, dwz 2 is verschoven naar de volgende index enzovoort.
Hoe verwijder je een element uit de lijst?
Soms kunnen we ook vragen om items van de lijst te verwijderen. Om dat te doen, biedt C # twee verschillende methoden. Deze twee methoden zijn Remove () en RemoveAt (). Remove wordt gebruikt om een bepaald element uit de lijst te verwijderen en RemoveAt wordt gebruikt om elk element dat aanwezig is in de gegeven index te verwijderen.
Laten we eens kijken naar de syntaxis.
Syntaxis
Laten we nu de instructie Remove toevoegen aan de vorige code en kijken wat er gebeurt.
De output van het bovenstaande programma zal zijn:
1
twee
3
Waarde verwijderen uit de lijst
1
3
In het bovenstaande programma hebben we de verwijdermethode gebruikt om element 2 uit de lijst te verwijderen. Zoals je kunt zien in de uitvoer nadat de Remove-methode is uitgevoerd, bevat de lijst niet langer het element dat we hebben verwijderd.
Evenzo kunnen we ook de RemoveAt-methode gebruiken. Laten we de Remove-methode in het bovenstaande programma vervangen door RemoveAt () en het indexnummer doorgeven als parameter.
De output van het bovenstaande programma zal zijn:
1
twee
3
Waarde verwijderen uit de lijst
1
twee
In het bovenstaande programma kun je duidelijk zien dat we het element dat aanwezig is op index 2 hebben verwijderd in plaats van het gehele getal 2 te verwijderen. Daarom kan men, afhankelijk van de vereiste, Remove () of RemoveAt () gebruiken om een bepaald element uit een lijst.
C # Woordenboek
Woordenboek in C # is vergelijkbaar met het woordenboek dat we in elke taal hebben. Ook hier hebben we een verzameling woorden en hun betekenis. De woorden staan bekend als sleutel en hun betekenis of definitie kan als waarden worden gedefinieerd.
binaire boom c ++ implementatie
Woordenboek accepteert twee argumenten, de eerste is de sleutel en de tweede is waarde. Het kan worden geïnitialiseerd door een variabele van ofwel Dictionary-klasse of IDictionary-interface te gebruiken.
De syntaxis voor Dictionary is:
Laten we eens kijken naar een eenvoudig programma om Dictionary te initialiseren:
In het bovenstaande programma kun je duidelijk zien dat we de woordenboekgegevens hebben geïnitialiseerd met zowel de sleutel als de waarde als een string. Maar u kunt elk gegevenstypepaar gebruiken voor sleutels en waarden. Bijvoorbeeld, als we de bovenstaande verklaring wijzigen om een ander gegevenstype te bevatten, dan zal het ook correct zijn.
Het gegevenstype binnen de hoekbeugel is voor sleutels en waarden. U kunt elk gegevenstype als sleutel en waarde behouden.
Hoe sleutels en waarden aan een woordenboek toevoegen?
We hebben gezien hoe we een woordenboek kunnen initialiseren. Nu zullen we sleutels en hun waarden aan het woordenboek toevoegen. Het woordenboek is erg handig als u verschillende gegevens en hun waarden in een lijst wilt toevoegen. De Add () - methode kan worden gebruikt om gegevens aan het woordenboek toe te voegen.
Syntaxis
Laten we nu de Add-instructie in het bovenstaande programma opnemen om sleutels en waarden aan het woordenboek toe te voegen.
Programma
In het bovenstaande programma hebben we de Add () - methode gebruikt om de sleutel en waarden aan het woordenboek toe te voegen. De eerste parameter die aan de Add () - methode wordt doorgegeven, is de sleutel en de tweede parameter is de waarde van de sleutel.
Hoe toegang krijgen tot sleutels en waarden vanuit een woordenboek?
Zoals besproken in onze tutorial over de lijst, hebben we ook op verschillende manieren toegang tot elementen uit het woordenboek. We zullen enkele van de belangrijke manieren bespreken waarop we hier toegang toe hebben. We bespreken for loop, voor elke loop en index voor toegang tot data-items.
De index kan worden gebruikt om toegang te krijgen tot specifieke waarden uit de lijst.
For-lus kan worden gebruikt om alle elementen uit het woordenboek te openen of op te halen, maar vereist de grootte van het woordenboek om de lus te stoppen. Omdat elke lus flexibeler is, kan het alle aanwezige gegevens uit het woordenboek ophalen zonder dat de grootte van het woordenboek nodig is.
Indexering gebruiken
Een element uit de index kan op dezelfde manier worden gebruikt als een array om toegang te krijgen tot het element, met het fundamentele verschil dat we in plaats van index sleutels nodig hebben om toegang te krijgen tot de waarden.
Syntaxis
Programma
De output van het bovenstaande programma zal zijn:
tweede
For Loop gebruiken voor toegang tot element
De for-lus kan worden gebruikt om toegang te krijgen tot alle elementen van het woordenboek. Maar het moet ook de telling van het element in het woordenboek krijgen voor een aantal vereiste iteraties.
Laten we een lus toevoegen aan het bovenstaande programma om alle waarden uit het woordenboek op te halen.
De output van het bovenstaande programma zal zijn:
Het element op key: one en zijn waarde is: first
Het element op key: two en de waarde ervan is: second
Het element bij key: three en de waarde ervan is: Third
In het bovenstaande programma hebben we de ElementAt () - methode gebruikt om de sleutel op een bepaalde index te krijgen, daarna hebben we dezelfde sleutel gebruikt om de gegevens van de sleutelwaarde op te halen. De for-lus doorloopt alle gegevens in het woordenboek. De eigenschap Count is gebruikt om de grootte van het woordenboek voor iteratie op te halen.
For-Each Loop gebruiken
Net als bij de for-lus, kunnen we ook de voor elke lus gebruiken.
Laten we het bovenstaande programma eens bekijken met de for-each-lus.
soorten bugs bij het testen van software
De output van het bovenstaande programma zal zijn:
De sleutel is: één - De waarde is: eerste
De sleutel is: twee - De waarde is: tweede
De sleutel is: drie - De waarde is: derde
Het bovenstaande programma gebruikt KeyValuePair om de variabele te declareren, vervolgens herhalen we elk van de sleutel / waarde-paren in het woordenboek en drukken die af naar de console.
Hoe de aanwezigheid van gegevens in een woordenboek valideren?
Soms moeten we verifiëren of een bepaalde sleutel of waarde in het woordenboek bestaat of niet. We kunnen dit valideren door twee methoden te gebruiken, namelijk ContainsValue () en ContainsKey () om te controleren op de bestaande sleutel of waarde in het woordenboek.
De methode bevat wordt gebruikt om te valideren of de opgegeven waarde al dan niet in het woordenboek aanwezig is. De ContainsKey-methode wordt gebruikt om te controleren of een bepaalde sleutel al dan niet in het woordenboek voorkomt.
Syntaxis
Laten we een eenvoudig programma schrijven om te valideren met behulp van de Contains en ContainsKey-methode.
De output van het bovenstaande programma zal zijn:
De belangrijkste is beschikbaar: True
De waarde vier is beschikbaar: False
In het bovenstaande programma hebben we eerst de ContainsKey-methode gebruikt om te valideren of de gegeven sleutel aanwezig is in het woordenboek. Omdat de sleutel aanwezig is in het woordenboek, retourneert de methode true. Vervolgens gebruiken we ContainsValue om te bepalen of de gegeven waarde aanwezig is of niet. Omdat de waarde 'vier' niet aanwezig is in het woordenboek, zal deze false retourneren.
Hoe verwijder je een element uit een woordenboek?
Er kan een tijd komen dat we een bepaald sleutel / waarde-paar uit het woordenboek moeten verwijderen om aan bepaalde programmeerlogica te voldoen. De verwijdermethode kan worden gebruikt om elk paar uit het woordenboek te verwijderen op basis van de sleutel.
Syntaxis
Programma
De output van het bovenstaande programma zal zijn:
De belangrijkste twee zijn beschikbaar: False
In het bovenstaande programma hebben we eerst een sleutel / waarde-paar aan het woordenboek toegevoegd. Vervolgens hebben we een sleutel uit het woordenboek verwijderd en hebben we de methode ContainsKey () gebruikt om te valideren of het sleutel / waarde-paar niet langer aanwezig is in het woordenboek.
Gevolgtrekking
De lijst slaat elementen van het specifieke gegevenstype op en groeit naarmate items worden toegevoegd. Het kan ook meerdere dubbele elementen opslaan. We hebben gemakkelijk toegang tot items in de lijst met behulp van index of loops. De lijst is erg handig bij het opslaan van een grote hoeveelheid gegevens.
Een Dictionary wordt gebruikt om sleutel-waardeparen op te slaan. Hier moeten de sleutels uniek zijn. Waarden uit het woordenboek kunnen worden opgehaald met behulp van een lus of index. We kunnen ook sleutels of waarden valideren met behulp van de Contains-methode.
Bekijk hier de volledige C #-trainingsserie
Aanbevolen literatuur
- C # Tutorial voor het afhandelen van uitzonderingen met codevoorbeelden
- Python DateTime-zelfstudie met voorbeelden
- C # Functies / methoden zelfstudie met codevoorbeelden
- SVN-zelfstudie: broncodebeheer met behulp van Subversion
- C # String-zelfstudie - String-methoden met codevoorbeelden
- Tortoise SVN-zelfstudie: herzieningen in coderepository
- Python Tuple-zelfstudie met praktische voorbeelden
- Ls Command in Unix met voorbeelden