Oversikt over samlinger i C #

I denne artikkelen skal vi lære om samlingene i C #. Samlingsklasser er spesialiserte klasser for henting og datalagring. Det tildeler minne dynamisk til elementene. Ved hjelp av det kan vi utføre forskjellige operasjoner som oppdatering, henting, lagring osv. Samlinger ligner på en matrise. Her trenger vi ikke å definere størrelsen på forhånd i motsetning til en matrise.

Det er tre måter å jobbe med samlinger som følges

  • System.Collections.Generic klasser
  • System.Collections.Concurrentklasser
  • System.Collections-klasser

Eksempler på samlinger i C #

Nedenfor er noen eksempler på forskjellige typer samlinger i C #: -

Eksempel 1 - ArrayList

Det er en samling av System.Collections. Det gjør det mulig å oppbevare dataene fra flere datatyper, og når dataene legges til, utvides de automatisk.

Kode:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ArrayListExample
(
class Program
(
static void Main(string() args)
(
var data = new ArrayList(); //arraylist collection
data.Add("Demo"); // add element
data.Add(1);
data.Add(5);
data.Add(26);
data.Add(56.4);
data.Add(32);
data.Remove(5); // remove element
foreach (object obj in data) // iteration
(
Console.WriteLine(obj);
Console.ReadLine();
)
)
)
)

I eksemplet ovenfor er det en samling av typen ArrayList. Det er noen elementer i ArrayList. Legg til () og Fjern () er metodene som brukes til å legge til og fjerne elementene fra samlingen. foreach brukes til iterasjonen og viser verdiene.

Produksjon:

Eksempel 2 - Vi vil bruke listedrift her

Det er en samling av System.Collections.Generic navnefelt.

Kode:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new List(); // list collection
value.Add("Cricket"); // add element
value.Add("Football");
value.Add("Volleyball");
value.Add("Hockey");
value.Add("Basketball");
value.Add("Tennis");
value.Remove("Football"); // remove element
value.Remove("Tennis");
value.Insert(3, "Badminton"); // insert element
foreach (string st in value)
(
Console.WriteLine(st);
Console.ReadLine();
)
)
)
)

I eksemplet over er samlingen av en listetype. Legg til () og Fjern () metoder brukes til å legge til eller fjerne elementene fra listen. Sett inn () brukes også til å sette inn elementet i listen ved en definert indeks. Foreach brukes til iterasjon og viser verdiene.

Produksjon:

Eksempel 3: Sortert liste

Det består av nøkkel og verdier i en samling.

Kode:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new SortedList(); // sortedlist collection
value.Add("java", 3); // add element
value.Add("javascript", 4);
value.Add("c-sharp", 5);
value.Add("dotnet", 25);
value.Add("python", 27);
value.Add("typescript", 57);
foreach (var pair in value)
(
Console.WriteLine(pair);
Console.ReadLine();
)
)
)
)

I eksemplet ovenfor er samlingen av typen sortert liste. Det er flere par nøkkelpar og verdier på listen. Det representerer i utgangspunktet det sorterte paret med nøkler og verdier.

Produksjon:

Eksempel 4: Koblet liste

Det tillater i utgangspunktet sekvensiell tilgang til elementene.

Kode:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new LinkedList(); // linkedlist collection
value.AddLast(13); // add element
value.AddLast(33);
value.AddLast(23);
value.AddLast(51);
value.AddLast(60);
value.AddFirst(4);
value.AddFirst(6);
LinkedListNode node = value.Find(51); // find the node
value.AddBefore(node, 40);
foreach (int num in value)
(
Console.WriteLine(num);
Console.ReadLine();
)
)
)
)

I eksemplet over er samlingen av typen Linkedlist. AddLast () brukes til å plassere elementet i den siste posisjonen, mens AddFirst () brukes til å plassere elementet i første plassering av listen. Linkedlist består av en node. Finn () brukes til å finne verdien og plasseringsverdien før den.

Utgang:

Eksempel 5 - Ordbok

Det består av unike par nøkler og verdier.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var pair = new Dictionary(); // dictionary collection
pair.Add("in", "India"); // add keys and values
pair.Add("af", "Africa");
pair.Add("us", "United States");
pair.Add("ja", "Japan");
pair.Add("ch", "China");
pair.Add("ca", "Canada");
Console.WriteLine("Keys present in the dictionary:");
var key = new List(pair.Keys);
foreach (string k in key)
(
Console.WriteLine("(0)", k);
)
Console.WriteLine("Values present in the dictionary:");
var value = new List(pair.Values);
foreach (string val in value)
(
Console.WriteLine("(0)", val);
)
Console.ReadLine();
)
)
)

I eksemplet ovenfor er samlingen en type ordbok som inneholder nøkkel og verdiene deres. Foreach brukes til iterasjon av nøkler og verdier.

Produksjon

Eksempel 6 - Stabel

Det er basert på strukturen Last-In-First-Out. Det siste elementet i køen er det første som blir fjernet.

Kode:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new Stack(); // stack collection
value.Push(10); // adding the element
value.Push(40);
value.Push(33);
value.Push(62);
value.Push(48);
value.Push(21);
value.Push(31);
Console.WriteLine(value.Pop());
Console.WriteLine(value.Peek());
Console.WriteLine();
foreach (int item in value)
(
Console.WriteLine(item);
Console.ReadLine();
)
)
)
)

I eksemplet ovenfor er samlingen av typen stabel. Push () brukes til å sette inn elementet øverst. Pop () er for å fjerne og returnere elementet, og Peek () er for å returnere det øverste elementet i bunken.

Produksjon:

Eksempel 7 - Kø

Det er basert på First-In-First-Out struktur. Det første elementet i køen er det første som blir fjernet.

Kode:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(static void Main(string() args)
(
var value = new Queue(); // queue collection
value.Enqueue("Item 1"); // add element
value.Enqueue("Item 2");
value.Enqueue("Item 3");
value.Enqueue("Item 4");
value.Enqueue("Item 5");
value.Enqueue("Item 6");
value.Enqueue("Item 7");
Console.WriteLine(value.Dequeue());
Console.WriteLine(value.Peek());
Console.WriteLine();
foreach (string num in value)
(
Console.WriteLine(num);
Console.ReadLine();
)
)
)
)

I eksemplet over; samlingen er av typen kø. Enqueue () er for innsettingselementet på slutten av køen. Dequeue () er for å fjerne elementet fra begynnelsen av køen . Peek () brukes til å returnere varen.

Produksjon:

Så det er mange måter vi kan bruke samlingene på. Samlinger ligner en rekke. Her trenger vi ikke å definere størrelsen på forhånd i motsetning til array.

Anbefalte artikler

Dette har vært en guide til samlinger i C #. Her diskuterer vi oversikten og forskjellige eksempler på Samlinger i C # med kodeimplementering og ouput. Du kan også se på følgende artikler for å lære mer -

  1. Komplett guide til sortering i C #
  2. Metoder for Iteratorer i C #
  3. Typer mønstre i C #
  4. Hvordan fungerer Pointers i C #?