c collections arraylist
C # -samlinger er de specialiserede klasser til at gemme og ændre data. I denne vejledning lærer du om C # -samlinger som ArrayList, HashTable & SortedList med eksempler:
De tjener forskellige formål som dynamisk hukommelsesallokering, vurdering af ikke-sekventielle data osv.
Alle disse klasser bruger objektklassen, som er basisklassen for alle andre datatyper.
=> Se den fulde C # træningsserie her
Hvad du lærer:
smart identifikation i qtp med eksempel
C # samlinger og deres anvendelse
C # ArrayList
ArrayList er en del af samlinger i C #. Det bruges til at indeholde data af en hvilken som helst given datatype. Det svarer til et array i C #, men det har ikke en bestemt størrelse. Dens størrelse øges automatisk, når flere elementer tilføjes i den.
Sådan initialiseres en ArrayList?
ArrayList kan initialiseres ved hjælp af nøgleordet 'ArrayList'.
ArrayList arrList = new ArrayList();
Sådan tilføjes elementer til en ArrayList?
Du kan tilføje et enkelt element til en matrixliste ved hjælp af metoden Tilføj () og en række elementer eller flere elementer fra en anden samling ved hjælp af metoden AddRange ().
Eksempel:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7896); arrList.Add('Seven'); Console.ReadLine(); } } }
Her kan du se, at vi har brugt ArrayList.Add () -metoden. Som du kan bemærke, har vi tilføjet begge heltal såvel som streng i den samme matrixliste. Dette er muligt, da en matrixliste er af ikke-generisk datatype, dvs. den kan indeholde et element af en hvilken som helst given datatype.
Sådan får du adgang til et element fra en ArrayList?
Et array-listeelement kan tilgås svarende til et array, dvs. ved hjælp af indekset. Men da det er en ikke-generisk type, skal vi først kaste den til en passende datatype eller have brug for var-nøgleord, mens vi får adgang til en værdi fra matrixlisten.
Eksempel:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7896); arrList.Add('Seven'); //casted and retrieved data int first_index = (int)arrList(0); string second_index = (string)arrList(1); Console.WriteLine('The first index value is : ' + first_index); Console.WriteLine('The second index value is : ' + second_index); Console.ReadLine(); } } }
I ovenstående eksempel har vi hentet dataene ved hjælp af indekset på array-listen, og derefter har vi kastet dem til den relevante datatype. Resultaterne er derefter udskrevet på konsollen som output.
Output for ovenstående program vil være:
Produktion
Den første indeksværdi er: 7896
Den anden indeksværdi er: Syv
Sådan indsættes et element i ArrayList?
Sådan indsættes et element i ArrayList på et bestemt punkt eller indeks. metoden Insert () anvendes.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7896); arrList.Add('Seven'); //casted and retrieved data int first_index = (int)arrList(0); string second_index = (string)arrList(1); Console.WriteLine('The first index value is : ' + first_index); Console.WriteLine('The second index value is : ' + second_index); arrList.Insert(1, 'Eight'); second_index = (string)arrList(1); Console.WriteLine('The second index value is : ' + second_index); Console.ReadLine(); } } }
Således har vi indsat en ny streng i indeks 1 ved hjælp af metoden insert (). Så hvis vi kører ovenstående program, får vi følgende output:
Produktion
Den første indeksværdi er: 7896
Den anden indeksværdi er: Syv
Den anden indeksværdi er: Otte
Sådan fjernes et element fra ArrayList?
Et element kan fjernes fra ArrayList ved hjælp af metoden Fjern (). Fjern metode accepterer en parameter, dvs. den værdi, der skal fjernes fra arrayet.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7896); arrList.Add('Seven'); //casted and retrieved data int first_index = (int)arrList(0); string second_index = (string)arrList(1); Console.WriteLine('The first index value is : ' + first_index); Console.WriteLine('The second index value is : ' + second_index); arrList.Insert(1, 'Eight'); second_index = (string)arrList(1); Console.WriteLine('The second index value is : ' + second_index); arrList.Remove(7896); var data = arrList(0); Console.WriteLine('The value at 0 index is : ' + data); Console.ReadLine(); } } }
Fjernelsesmetoden fjerner den givne værdi fra listen. Når værdien fjernes fra det givne indeks, bevæger den efterfølgende værdi et indeks opad for at udfylde hullet. Når vi fjerner 0 indekser, flyttes værdien fra indeks 1 og udfylder tomrummet ved 0.
Resultatet af følgende program vil være:
Produktion
Den første indeksværdi er: 7896
Den anden indeksværdi er: Syv
Den anden indeksværdi er: Otte
Værdien ved indeks 0 er: Otte
Sådan fjernes listeelement ved hjælp af indekset?
Brugeren kan fjerne et listeelement fra et bestemt indeks ved hjælp af metoden RemoveAt (). RemoveAt () accepterer en enkelt parameter med et indeksnummer, hvorfra elementet skal fjernes. På samme måde som Fjern-metoden vil fjernelse af et element fra midten skubbe det næste element for at flytte et trin opad for at udfylde hullet.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7896); arrList.Add('Seven'); //casted and retrieved data int first_index = (int)arrList(0); string second_index = (string)arrList(1); Console.WriteLine('The first index value is : ' + first_index); Console.WriteLine('The second index value is : ' + second_index); arrList.Insert(1, 'Eight'); second_index = (string)arrList(1); Console.WriteLine('The second index value is : ' + second_index); arrList.RemoveAt(1); var data = arrList(1); Console.WriteLine('The value at 1 index is : ' + data); Console.ReadLine(); } } }
I ovenstående eksempel har vi brugt, FjernAt til at fjerne indeks 1. Derfor skal elementet ved indeks 2 flytte til indeks 1 for at erstatte mellemrummet.
Resultatet af følgende program vil være:
Produktion
Den første indeksværdi er: 7896
Den anden indeksværdi er: Syv
Den anden indeksværdi er: Otte
Værdien ved 1 indeks er: Syv
Sådan sorteres og vendes en ArrayList?
ArrayList tilbyder to forskellige metoder til sortering og omvendt handling. Der er kun en betingelse, dvs. alle elementerne inde i matrixlisten skal have den samme datatype til sammenligning med en komparator, ellers vil det kaste en runtime-fejl.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7); arrList.Add(4); arrList.Add(5); arrList.Add(1); arrList.Add(3); Console.WriteLine('Original Array List'); foreach (var v in arrList) { Console.Write(v + ' '); } //sorting an array list Console.WriteLine(); Console.WriteLine('Sorted Array List'); arrList.Sort(); foreach (var srt in arrList) { Console.Write(srt + ' '); } //Reversing an array list Console.WriteLine(); Console.WriteLine('Reversed Array List'); arrList.Reverse(); foreach (var rvrs in arrList) { Console.Write(rvrs + ' '); } Console.ReadLine(); } } }
I ovenstående program har vi først oprettet en matrixliste med heltal datatype, og derefter har vi brugt sorteringsmetoden til at sortere listen og den omvendte metode til at vende den sorterede liste.
Så output på følgende liste vil være:
Produktion
Oprindelig matrixliste
7 4 5 1 3
Sorteret matrixliste
1 3 4 5 7
Omvendt matrixliste
7 5 4 3 1
C # HashTable
System.Collections navneområde i C # indeholder Hashtable, der minder meget om ordbogen. Hashtable gemmer data i form af nøgleværdipar.
Det gør det internt ved at tildele en hash-kode til hash-nøgle internt, og når der er adgang til data, matcher den hash-koden med en hash-nøgle for at hente data. Hvert element i tabellen har et nøgleværdipar
Sådan initialiseres en HashTable?
En HashTable kan initialiseres ved hjælp af nøgleordet HashTable og derefter oprette en forekomst af den.
Hashtable hashtbl = new Hashtable();
Sådan tilføjes elementer til en HashTable?
Elementer kan føjes til HashTable ved hjælp af metoden Tilføj (). Det giver brugerne mulighed for at tilføje et element med dets nøgle og værdi. Det er ikke vigtigt at beskrive datatypen for nøglen eller værdien. Mens du tilføjer elementer til HashTable, skal du huske, at nøglerne ikke kan indeholde null, hvis værdier kan være null.
HashTable.Add (nøgler, værdier);
Eksempel:
class Program { static void Main(string() args) { Hashtable hashtbl = new Hashtable(); hashtbl.Add('Number',1); hashtbl.Add('Car', 'Ferrari'); hashtbl.Add(8, 'eight'); } }
Som du kan se, har vi tilføjet forskellige datatyper som nøgler og værdier.
Sådan får du adgang til elementer, der findes i en HashTable?
Man kan hente værdien på enhver nøgle fra Hashtable ved hjælp af en indekser. Men indeksøren kræver også en nøgle for at få adgang til og hente værdien fra tabellen.
Lad os tilføje et lille kodestykke til ovenstående program for at hente værdier:
class Program { static void Main(string() args) { Hashtable hashtbl = new Hashtable(); hashtbl.Add('Number',1); hashtbl.Add('Car', 'Ferrari'); hashtbl.Add(8, 'eight'); int value1 = (int)hashtbl('Number'); String value2 = (string)hashtbl('Car'); String value3 = (string)hashtbl(8); Console.WriteLine(value1); Console.WriteLine(value2); Console.WriteLine(value3); Console.ReadLine(); } }
Hvis vi nu udfører dette, produceres følgende output:
en
ferrari
otte
I ovenstående program har vi kastet værdien af alle nøglerne til en given datatype for at fjerne eventuel kompileringsfejl. Dette skyldes, at Hashtable, som en ikke-generisk samling, ikke indeholder oplysninger om datatypen for noget af dens indhold, dvs. nøgler og værdier.
hvordan man åbner eps-filer på windows
Derfor, hvis vi direkte forsøger at få datakompilatoren, bliver vi forvirrede over datatypen og kaster en fejl.
Sådan fjernes et element fra Hashtable?
Lad os sige, at vi vil fjerne et bestemt nøgleværdipar fra Hashtable. For at opnå dette skal vi bruge metoden Fjern (), der tilbydes af samlingerne. Fjern metode sletter et givet nøgleværdipar permanent fra Hashtable.
Fjern (nøgle);
Lad os tilføje Fjern-metoden i ovenstående program for at få ideen:
class Program { static void Main(string() args) { Hashtable hashtbl = new Hashtable(); hashtbl.Add('Number',1); hashtbl.Add('Car', 'Ferrari'); hashtbl.Add(8, 'eight'); int value1 = (int)hashtbl('Number'); String value2 = (string)hashtbl('Car'); String value3 = (string)hashtbl(8); Console.WriteLine(value1); Console.WriteLine(value2); Console.WriteLine(value3); //now we remove a key hashtbl.Remove(8); //Lets try to find the remove key now String valueRemoved = (string)hashtbl(8); Console.WriteLine('The value of the given key is :'+valueRemoved); Console.ReadLine(); } }
Output fra ovenstående program vil være følgende.
en
Ferrari
otte
Værdien af den givne nøgle er:
Nej, værdien udskrives på konsollen, da vi har fjernet nøglen fra Hashtable. Derfor er strengværdien fra valueRemoved nul.
Hvis du vil fjerne alt fra hashtable, så giver C # os en anden metode kaldet Clear (). Fjern metode sletter et nøgleværdipar ad gangen, mens metoden Ryd sletter alt fra hashmap.
Lad os se på nedenstående program for at gøre dette:
class Program { static void Main(string() args) { Hashtable hashtbl = new Hashtable(); hashtbl.Add('Number',1); hashtbl.Add('Car', 'Ferrari'); hashtbl.Add(8, 'eight'); int value1 = (int)hashtbl('Number'); String value2 = (string)hashtbl('Car'); String value3 = (string)hashtbl(8); Console.WriteLine(value1); Console.WriteLine(value2); Console.WriteLine(value3); //now we remove a key hashtbl.Remove(8); //Lets try to find the remove key now String valueRemoved = (string)hashtbl(8); Console.WriteLine('The value of the given key is :'+valueRemoved); // clearing all data from the HashTable hashtbl.Clear(); Console.ReadLine(); } }
Ovenstående program fjerner alle elementerne fra hashtable og gør det tomt.
Andre vigtige metoder, der tilbydes af Hashtable, er ContainsKey () og ContainsValue (). Begge disse metoder accepterer et argument, der er en nøgle eller en værdi, og returnerer en boolsk værdi. Så hvis parameteren, der sendes med denne metode, er til stede i hashtable, returnerer den en sand værdi, og hvis den ikke er til stede, returneres false.
C # SortedList
Som navnet antyder, indeholder SortedList sorterede data i stigende rækkefølge. Det ligner Hashtable, da det indeholder lignende nøgleværdipar. Alle nøgler indsat eller tilføjet til SortedList arrangeres automatisk i stigende rækkefølge.
Sådan initialiseres en sorteret liste?
En SortedList kan initialiseres ved hjælp af nøgleordet SortedList og oprette en objektforekomst til den.
SortedList sortedList = new SortedList();
Objektet kan derefter bruges til at udføre operationer ved hjælp af SortedList-egenskaben og -metoderne.
Sådan tilføjes et element til en SortedList?
Du kan føje et element til en SortedList ved hjælp af Add () -metoden. En SortedList kræver, at du tilføjer en nøgle og en værdi. Du kan tilføje nøgler og værdier i hvilken som helst rækkefølge, du ønsker, og den sorterede liste arrangerer alle de tilføjede elementer i stigende rækkefølge.
class Program { static void Main(string() args) { SortedList sortedList = new SortedList(); sortedList.Add(2, 'Two Pineapples'); sortedList.Add(4, 'Four Apples'); sortedList.Add(3, 'Three Lemons'); sortedList.Add(5, 'Five Mangoes'); sortedList.Add(1, 'One Tree'); Console.ReadLine(); } }
I ovenstående program kan du se, at vi har tilføjet heltal som nøgle og derefter streng som værdier. Du kan tilføje en hvilken som helst datatype, som du vil, og i en hvilken som helst rækkefølge, du ønsker. SortedList arrangerer den i stigende rækkefølge.
I lighed med HashTable kan nøgler ikke være nul, og alle nøgler skal have samme datatype til sammenligning, ellers vil det give en kompileringsfejl.
Den sorterede liste sorterer elementet hver gang du tilføjer dem. Så selvom du tilføjer et element, efter at sorteringen er udført, sorterer det igen og tilføjer elementet til det relevante indeks.
Sådan får du adgang til elementerne fra en sorteret liste?
Du kan få adgang til en værdi på den sorterede liste ved hjælp af tasten.
Lad os tilføje en simpel kode for at hente værdien fra SortedList beskrevet i det foregående eksempel:
class Program { static void Main(string() args) { SortedList sortedList = new SortedList(); sortedList.Add(2, 'Two Pineapples'); sortedList.Add(4, 'Four Apples'); sortedList.Add(3, 'Three Lemons'); sortedList.Add(5, 'Five Mangoes'); sortedList.Add(1, 'One Tree'); string i = (string)sortedList(1); string j = (string)sortedList(5); string k = (string)sortedList(3); Console.WriteLine(i); Console.WriteLine(j); Console.WriteLine(k); Console.ReadLine(); } }
Outputtet fra ovenstående kodestykke vil være:
Et træ
Fem mangoer
Tre citroner
I ovenstående kodestykke skal vi caste værdien af alle nøglerne til en given datatype for at fjerne enhver kompileringsfejl, der måtte opstå med datatypen for værdien. Dette gøres for at sikre, at der ikke kastes en kompileringsfejl, selvom nogle af nøglerne indeholder forskellige datatyper.
Hvordan valideres, hvis en given nøgle findes i en sorteret liste?
Der er to indbyggede metoder, dvs. Indeholder() og Indeholder nøgle () der hjælper os med at bestemme, om der findes en bestemt nøgle i en sorteret liste. ConstainsValue () er en anden metode, der bruges til at bestemme, om en bestemt værdi er til stede i samlingen eller ej.
Lad os se på et simpelt program for at lære mere om disse metoder.
class Program { static void Main(string() args) { SortedList sortedList = new SortedList(); sortedList.Add(2, 'Two Pineapples'); sortedList.Add(4, 'Four Apples'); sortedList.Add(3, 'Three Lemons'); sortedList.Add(5, 'Five Mangoes'); sortedList.Add(1, 'One Tree'); //boolean value for key 5 bool key = sortedList.ContainsKey(5); //boolean value for vlaue 'One Tree' bool val = sortedList.ContainsValue('One Tree'); //Boolean value for unavailable key bool unKey = sortedList.ContainsKey(25); //Boolean value for unavailable value bool unVal = sortedList.ContainsValue('some randome value'); Console.WriteLine('The sorted list contains 5 key :' + key); Console.WriteLine('The sorted list contains One Tree value :' + val); Console.WriteLine('The sorted list contains 25 key :' +unKey); Console.WriteLine('The sorted list contains some random value:' + unVal); Console.ReadLine(); } }
Output fra ovenstående program vil være:
Den sorterede liste indeholder 5 nøgler: Sandt
Den sorterede liste indeholder One Tree-værdi: True
Den sorterede liste indeholder 25 nøgler: Falsk
Den sorterede liste indeholder en tilfældig værdi: Falsk
I ovenstående program kan du tydeligt se, at hvis værdien eller nøglen er til stede i den sorterede liste, returneres en sand værdi, og hvis den ikke er til stede, returneres en falsk værdi.
Sådan fjernes et element fra SortedList?
Den sorterede liste tilbyder metoder til Fjern () og FjernAt () til at slette ethvert element, der findes i en sorteret liste. Fjern accepterer et enkelt argument med nøglenavnet, og RemoveAt accepterer også et enkelt argument, men med indeks.
Begge disse metoder fjerner ethvert element, der findes i den sorterede liste, baseret på argumentet.
pl sql udvikler interview spørgsmål og svar til erfarne
Lad os se på en simpel kode for at forstå den mere tydeligt.
class Program { static void Main(string() args) { SortedList sortedList = new SortedList(); sortedList.Add(2, 'Two Pineapples'); sortedList.Add(4, 'Four Apples'); sortedList.Add(3, 'Three Lemons'); sortedList.Add(5, 'Five Mangoes'); sortedList.Add(1, 'One Tree'); //The Remove() method accepts key as argument and removes both the key and the value sortedList.Remove(1); //Now we will check if the key is present bool rmvKey = sortedList.ContainsKey(1); Console.WriteLine('The presence if the key is: ' + rmvKey); //The RemoveAt() method acceots index as argument and remove any key and value present at that index sortedList.RemoveAt(3); Console.ReadLine(); } }
Output fra ovenstående program vil være:
Tilstedeværelsen, hvis nøglen er: Falsk
I ovenstående program brugte vi først Fjern-metoden til at fjerne et nøgleværdipar ved hjælp af nøglen. Dette fjerner ethvert nøgleværdipar, der matcher nøglen i argumentet. Derefter brugte vi ContainsKey-metoden til at kontrollere, at den fjernede nøgle ikke længere findes på listen Sorterede.
I den næste linje brugte vi metoden RemoveAt, der fjerner elementer ved hjælp af indekset. Som vi diskuterede tidligere, når det bestemte element fjernes fra indekset, bevæger et andet element sig op for at omarrangere og opretholde den sorterede listestruktur.
Konklusion
Samlinger er dedikerede klasser til stede i C # programmeringssprog til at gemme og betjene data. Disse bruges til at udføre specifikke handlinger, dvs. skabe dynamiske lister, omvendt, sortere osv. På et givet datasæt.
I denne vejledning lærte vi om ArrayList, der ligner en matrix i nogle aspekter, men ikke har nogen foruddefineret størrelse. Vi lærte også om HashTable, der gemmer data i nøgleværdipar. Enhver værdi kan hentes ved hjælp af nøglen.
Vi lærte også om den sorterede liste, der ligner en HashTable, men den sorterer automatisk alle de data, der findes i den, i stigende rækkefølge baseret på tasterne.
Dataene i den sorterede liste er altid i stigende rækkefølge, dvs. selvom du fjerner et bestemt element fra midten eller tilføjer et nyt element til den sorterede liste, arrangerer de automatisk alle data i stigende rækkefølge.
Prøvekode
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SeleniumFrameWork.FrameworkEssentials; using SeleniumFrameWork.FrameWorkSupportModules; namespace ConsoleApp1 { class Program { static void Main(string() args) { /* Array List Code */ ArrayList arrList = new ArrayList(); arrList.Add(7); arrList.Add(4); arrList.Add(5); arrList.Add(1); arrList.Add(3); Console.WriteLine('Original Array List'); foreach (var v in arrList) { Console.Write(v + ' '); } //sorting an array list Console.WriteLine(); Console.WriteLine('Sorted Array List'); arrList.Sort(); foreach (var srt in arrList) { Console.Write(srt + ' '); } //Reversing an array list Console.WriteLine(); Console.WriteLine('Reversed Array List'); arrList.Reverse(); foreach (var rvrs in arrList) { Console.Write(rvrs + ' '); } /* HashTable Code */ Hashtable hashtbl = new Hashtable(); hashtbl.Add('Number', 1); hashtbl.Add('Car', 'Ferrari'); hashtbl.Add(8, 'eight'); int value1 = (int)hashtbl('Number'); String value2 = (string)hashtbl('Car'); String value3 = (string)hashtbl(8); Console.WriteLine(value1); Console.WriteLine(value2); Console.WriteLine(value3); //now we remove a key hashtbl.Remove(8); //Lets try to find the remove key now String valueRemoved = (string)hashtbl(8); Console.WriteLine('The value of the given key is :' + valueRemoved); // clearing all data from the HashTable hashtbl.Clear(); /* Sorted List Code */ SortedList sortedList = new SortedList(); sortedList.Add(2, 'Two Pineapples'); sortedList.Add(4, 'Four Apples'); sortedList.Add(3, 'Three Lemons'); sortedList.Add(5, 'Five Mangoes'); sortedList.Add(1, 'One Tree'); string i = (string)sortedList(1); string j = (string)sortedList(5); string k = (string)sortedList(3); Console.WriteLine(i); Console.WriteLine(j); Console.WriteLine(k); //boolean value for key 5 bool key = sortedList.ContainsKey(5); //boolean value for vlaue 'One Tree' bool val = sortedList.ContainsValue('One Tree'); //Boolean value for unavailable key bool unKey = sortedList.ContainsKey(25); //Boolean value for unavailable value bool unVal = sortedList.ContainsValue('some randome value'); Console.WriteLine('The sorted list contains 5 key :' + key); Console.WriteLine('The sorted list contains One Tree value :' + val); Console.WriteLine('The sorted list contains 25 key :' +unKey); Console.WriteLine('The sorted list contains some randome value:' + unVal); //The Remove() method accepts key as argument and removes both the key and the value sortedList.Remove(1); //Now we will check if the key is present bool rmvKey = sortedList.ContainsKey(1); Console.WriteLine('The presence if the key is: ' + rmvKey); //The RemoveAt() method acceots index as argument and remove any key and value present at that index sortedList.RemoveAt(3); Console.ReadLine(); } } }
=> Se efter den nemme C # træningsvejledning her
Anbefalet læsning
- Python DateTime-tutorial med eksempler
- Klip kommando i Unix med eksempler
- Unix Cat Command Syntax, indstillinger med eksempler
- Brug af markør i MongoDB med eksempler
- Ls Command i Unix med eksempler
- MongoDB Sort () metode med eksempler
- Grep Command i Unix med enkle eksempler
- Brug af ObjectId () i MongoDB med eksempler