Przegląd kolekcji w C #

W tym artykule dowiemy się o kolekcjach w C #. Klasy kolekcji to specjalistyczne klasy do wyszukiwania i przechowywania danych. Przydziela pamięć dynamicznie elementom. Za jego pomocą możemy wykonywać różne operacje, takie jak aktualizacja, pobieranie, przechowywanie itp. Kolekcje są podobne do tablicy. W tym przypadku nie musimy wcześniej określać rozmiaru, w przeciwieństwie do tablicy.

Istnieją 3 sposoby pracy z następującymi kolekcjami

  • System.Collections.Generic
  • System.Collections.Concurrent
  • Klasy System.Collections

Przykłady kolekcji w C #

Poniżej znajduje się kilka przykładów różnego rodzaju kolekcji w C #: -

Przykład # 1 - ArrayList

Jest to kolekcja System.Collections. Umożliwia przechowywanie danych wielu typów danych, a wraz z dodawaniem danych automatycznie się rozwija.

Kod:

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();
)
)
)
)

W powyższym przykładzie istnieje kolekcja typu ArrayList. W ArrayList jest kilka elementów. Add () i Remove () są metodami stosowanymi odpowiednio do dodawania i usuwania elementów z kolekcji. foreach służy do iteracji i wyświetla wartości.

Wynik:

Przykład # 2 - Użyjemy tutaj operacji listy

Jest to zbiór przestrzeni nazw System.Collections.Generic.

Kod:

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();
)
)
)
)

W powyższym przykładzie kolekcja ma typ listy. Metody Add () i Remove () służą odpowiednio do dodawania lub usuwania elementów z listy. Wstaw () służy również do wstawiania elementu na liście pod określonym indeksem. Foreach służy do iteracji i wyświetlania wartości.

Wynik:

Przykład 3: Posortowana lista

Składa się z klucza i wartości w kolekcji.

Kod:

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();
)
)
)
)

W powyższym przykładzie kolekcja jest typu sortedlist. Na liście znajduje się wiele par kluczy i wartości. Zasadniczo reprezentuje posortowaną parę kluczy i wartości.

Wynik:

Przykład 4: Lista połączona

Zasadniczo umożliwia sekwencyjny dostęp do elementów.

Kod:

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();
)
)
)
)

W powyższym przykładzie kolekcja jest typu Linkedlist. AddLast () służy do umieszczania elementu w ostatniej pozycji, podczas gdy AddFirst () służy do umieszczania elementu na pierwszej pozycji listy. Lista połączona składa się z węzła. Znajdź () służy do znajdowania wartości i umieszczania przed nią wartości.

Wynik :

Przykład 5 - Słownik

Składa się z unikalnej pary kluczy i wartości.

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();
)
)
)

W powyższym przykładzie kolekcja ma słownik typu, który zawiera klucz i ich wartości. Foreach służy do iteracji kluczy i wartości.

Wynik

Przykład # 6 - Stack

Opiera się na strukturze Last-First-First-Out. Ostatni element kolejki jest pierwszy do usunięcia.

Kod:

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();
)
)
)
)

W powyższym przykładzie kolekcja jest typu stos. Push () służy do wstawiania elementu u góry. Pop () służy do usuwania i zwracania elementu, a Peek () służy do zwracania górnego elementu stosu.

Wynik:

Przykład # 7 - Kolejka

Opiera się na strukturze First-In-First-Out. Pierwszym elementem kolejki jest pierwszy do usunięcia.

Kod:

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();
)
)
)
)

W powyższym przykładzie; kolekcja jest typu kolejka. Enqueue () dotyczy elementu wstawiającego na końcu kolejki. Dequeue () służy do usuwania elementu z początku kolejki . Peek () służy do zwracania elementu.

Wynik:

Istnieje więc wiele sposobów korzystania z kolekcji. Kolekcje są podobne do tablicy. W tym przypadku nie musimy wcześniej określać rozmiaru, w przeciwieństwie do tablicy.

Polecane artykuły

To był przewodnik po kolekcjach w C #. Tutaj omawiamy przegląd i różne przykłady kolekcji w C # z implementacją kodu i wyjściem. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Kompletny przewodnik po sortowaniu w C #
  2. Metody iteratorów w C #
  3. Rodzaje wzorów w C #
  4. Jak działają wskaźniki w C #?