Oversigt over samlinger i C #

I denne artikel skal vi lære om samlingerne i C #. Samlingskurser er specialiserede klasser til hentning og datalagring. Det tildeler hukommelse dynamisk til elementerne. Ved hjælp af det kan vi udføre forskellige operationer som opdatering, hentning, opbevaring osv. Samlinger ligner en matrix. Her behøver vi ikke at definere størrelsen på forhånd i modsætning til en matrix.

Der er 3 måder at arbejde på med samlinger, der følger

  • System.Collections.Generic klasser
  • System.Collections.Concurrent-klasser
  • System.Collections klasser

Eksempler på samlinger i C #

Herunder er nogle eksempler på forskellige typer samlinger i C #: -

Eksempel 1 - ArrayList

Det er en samling af System.Collections. Det gør det muligt at opbevare data fra flere datatyper, og når dataene tilføjes, udvides 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 ovenstående eksempel er der en samling af typen ArrayList. Der er nogle elementer i ArrayList. Tilføj () og Fjern () er de metoder, der bruges til henholdsvis at tilføje og fjerne elementerne fra samlingen. foreach bruges til iteration og viser værdierne.

Produktion:

Eksempel 2 - Vi vil bruge listefunktion her

Det er en samling af System.Collections.Generic navneområde.

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 ovenstående eksempel er samlingen af ​​en listetype. Metoder Tilføj () og Fjern () bruges til henholdsvis at tilføje eller fjerne elementerne fra listen. Indsæt () bruges også til at indsætte elementet på listen ved et defineret indeks. Foreach bruges til iteration og viser værdierne.

Produktion:

Eksempel 3: Sorteret liste

Det består af nøgler og værdier 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 ovenstående eksempel er samlingen af ​​typen sorteret liste. Der er flere par nøgler og værdier på listen. Det repræsenterer dybest set det sorterede par nøgler og værdier.

Produktion:

Eksempel 4: Tilknyttet liste

Det giver grundlæggende mulighed for sekventiel adgang til elementerne.

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 ovenstående eksempel er samlingen af ​​typen Linkedlist. AddLast () bruges til at placere elementet i den sidste position, mens AddFirst () bruges til at placere elementet i den første position på listen. Linkedlist består af en knude. Find () bruges til at finde værdien og placeringsværdien før den.

Output:

Eksempel 5 - Ordbog

Det består af unikke taster og værdier.

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 af ​​typen ordbog, der indeholder nøgle og deres værdier. Foreach bruges til iteration af taster og værdier.

Produktion

Eksempel 6 - Stak

Det er baseret på strukturen Last-In-First-Out. Det sidste element i køen er det første, der fjernes.

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 ovenstående eksempel er samlingen af ​​typen stak. Push () bruges til at indsætte elementet øverst. Pop () er til at fjerne og returnere elementet, og Peek () er til at returnere det øverste element i stakken.

Produktion:

Eksempel 7 - Kø

Det er baseret på First-In-First-Out-struktur. Det første element i køen er det første, der fjernes.

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 ovenstående eksempel; samling er af typen kø. Enqueue () er til indsættelseselementet i slutningen af ​​køen. Dequeue () er til at fjerne elementet fra begyndelsen af ​​køen . Peek () bruges til at returnere varen.

Produktion:

Så der er mange måder, vi kan bruge samlingerne på. Samlinger ligner en matrix. Her behøver vi ikke at definere størrelsen på forhånd i modsætning til array.

Anbefalede artikler

Dette har været en guide til samlinger i C #. Her diskuterer vi oversigten og forskellige eksempler på samlinger i C # med kodeimplementering og ouput. Du kan også se på de følgende artikler for at lære mere -

  1. Komplet guide til sortering i C #
  2. Metoder til Iteratorer i C #
  3. Typer af mønstre i C #
  4. Hvordan fungerer pointers i C #?

Kategori: