Преглед на колекциите в C #

В тази статия ще научим за колекциите в C #. Класовете за събиране са специализирани класове за извличане и съхранение на данни. Той разпределя паметта динамично на елементите. С помощта на него можем да извършваме различни операции като актуализиране, извличане, съхраняване и т.н. Колекциите са подобни на масив. Тук не е необходимо предварително да определяме размера за разлика от масив.

Има три начина за работа със следващите колекции

  • System.Collections.Общи класове
  • System.Collections.Concurrent класове
  • System.Collections класове

Примери за колекции в C #

По-долу са дадени няколко примера за различни видове колекции в C #: -

Пример №1 - ArrayList

Това е колекция от System.Collections. Той позволява да се съхраняват данните от множество типове данни и тъй като данните се добавят, той се разширява автоматично.

Код:

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

В горния пример има колекция от тип ArrayList. В ArrayList има някои елементи. Add () и Remove () са методите, които се използват съответно за добавяне и премахване на елементи от колекцията. foreach се използва за итерация и показване на стойностите.

изход:

Пример №2 - Тук ще използваме операция със списък

Това е колекция от System.Collections.Generic пространство на имена.

Код:

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

В горния пример колекцията е от списък. Методите Add () и Remove () се използват за добавяне или премахване на елементите от списъка съответно. Insert () също се използва за вмъкване на елемента в списъка с определен индекс. Foreach се използва за итерация и показване на стойностите.

изход:

Пример №3: Сортиран списък

Състои се от ключ и стойности в колекция.

Код:

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

В горния пример колекцията е от сортиран тип. В списъка има няколко двойки ключ и стойности. Основно представлява подредената двойка ключове и стойности.

изход:

Пример №4: Свързан списък

По същество позволява последователния достъп на елементите.

Код:

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

В горния пример колекцията е от тип Linkedlist. AddLast () се използва за поставяне на елемента в последната позиция, докато AddFirst () се използва за поставяне на елемента на първа позиция в списъка. Свързаният списък се състои от възел. Find () се използва за намиране на стойността и стойността на мястото преди нея.

Резултат:

Пример №5 - Речник

Състои се от уникална двойка ключове и стойности.

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

В горния пример колекцията е от речник тип, който съдържа ключ и техните стойности. Foreach се използва за итерация на ключове и стойности.

продукция

Пример №6 - Стека

Той се базира на структурата Last-In-First-Out. Последният елемент от опашката е първият, който се премахва.

Код:

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

В горния пример колекцията е от тип стек. Push () се използва за поставяне на елемента в горната част. Pop () е за премахване и връщане на елемента, а Peek () е за връщане на горния елемент на стека.

изход:

Пример №7 - опашка

Той се базира на структурата „Първи в първия изход“. Първият елемент от опашката е първият, който се премахва.

Код:

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

В горния пример; колекция е от тип опашка. Enqueue () е за вмъкващия елемент в края на опашката. Dequeue () е за премахване на елемента от началото на опашката . Peek () се използва за връщане на артикула.

изход:

Така че има много начини да използваме колекциите. Колекциите са подобни на масив. Тук не е необходимо предварително да определяме размера за разлика от масива.

Препоръчителни статии

Това е ръководство за колекциите в C #. Тук обсъждаме преглед и различни примери за колекции в C # с внедряване на код и изход. Може да разгледате и следните статии, за да научите повече -

  1. Пълно ръководство за сортиране в C #
  2. Методи на итератори в C #
  3. Видове модели в C #
  4. Как работят указателите в C #?