Rumah > Artikel > pembangunan bahagian belakang > Koleksi dalam C#
Koleksi boleh ditakrifkan sebagai jenis kelas yang digunakan dalam C# untuk peruntukan memori dinamik untuk menyimpan dan mengambil kandungan kelas, dan boleh digunakan untuk melaksanakan berbilang operasi. Dalam C#, koleksi berfungsi dalam bentuk 'System.Collections.Generic classes', 'System.Collections. Kelas serentak’ dan ‘Kelas Sistem.Koleksi’. Dari segi corak storan, koleksi meniru struktur data Tatasusunan, dan satu-satunya perbezaan ialah, tidak seperti tatasusunan, koleksi tidak perlu ditakrifkan dengan saiz yang diperlukan.
Terdapat 3 cara untuk bekerja dengan koleksi yang diikuti
Di bawah adalah beberapa contoh pelbagai jenis koleksi dalam C#:-
Ia adalah koleksi System.Collections. Ia membolehkan untuk menyimpan data berbilang jenis data dan apabila data ditambah, ia mengembang secara automatik.
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(); } } } }
Dalam contoh di atas, terdapat koleksi jenis ArrayList. Terdapat beberapa elemen dalam ArrayList. Add() dan Remove() ialah kaedah yang digunakan untuk menambah dan mengalih keluar elemen masing-masing daripada koleksi. foreach digunakan untuk lelaran dan memaparkan nilai.
Output:
Ia ialah koleksi System.Collections. Ruang nama generik.
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<string>(); // 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(); } } } }
Dalam contoh di atas, koleksi adalah daripada jenis senarai. Kaedah Add() dan Remove() digunakan untuk menambah atau mengalih keluar elemen dari senarai masing-masing. Insert() juga digunakan untuk memasukkan elemen dalam senarai pada indeks yang ditentukan. Foreach digunakan untuk lelaran dan memaparkan nilai.
Output:
Ia terdiri daripada kunci dan nilai dalam koleksi.
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<string, int>(); // 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(); } } } }
Dalam contoh di atas, koleksi adalah jenis senarai diisih. Terdapat berbilang pasangan kunci dan nilai dalam senarai. Ia pada asasnya mewakili pasangan kunci dan nilai yang diisih.
Output:
Ia pada asasnya membenarkan akses berjujukan unsur-unsur.
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<int>(); // 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<int> node = value.Find(51); // find the node value.AddBefore(node, 40); foreach (int num in value) { Console.WriteLine(num); Console.ReadLine(); } } } }
Dalam contoh di atas, koleksi adalah daripada jenis Senarai Terpaut. AddLast() digunakan untuk meletakkan elemen dalam kedudukan terakhir manakala AddFirst() digunakan untuk meletakkan elemen pada kedudukan pertama senarai. Senarai terpaut terdiri daripada nod. Find() digunakan untuk mencari nilai dan nilai tempat sebelum itu.
Output :
Ia terdiri daripada sepasang kunci dan nilai yang unik.
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<string, string>(); // 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<string>(pair.Keys); foreach (string k in key) { Console.WriteLine("{0}", k); } Console.WriteLine("Values present in the dictionary:"); var value = new List<string>(pair.Values); foreach (string val in value) { Console.WriteLine("{0}", val); } Console.ReadLine(); } } }
Dalam contoh di atas, koleksi ialah kamus jenis yang mengandungi kunci dan nilainya. Foreach digunakan untuk lelaran kunci dan nilai.
Output
Ia berdasarkan struktur Last-In-First-Out. Elemen terakhir baris gilir ialah yang pertama dialih keluar.
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<int>(); // 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(); } } } }
Dalam contoh di atas, koleksi adalah jenis timbunan. Push() digunakan untuk memasukkan elemen di bahagian atas. Pop() adalah untuk mengalih keluar dan mengembalikan elemen dan Peek() adalah untuk mengembalikan elemen teratas tindanan.
Output:
Ia berdasarkan struktur First-In-First-Out. Elemen pertama baris gilir ialah yang pertama dialih keluar.
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<string>(); // 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(); } } } }
Dalam contoh di atas; koleksi adalah jenis baris gilir. Enqueue() adalah untuk memasukkan elemen pada penghujung baris gilir. Dequeue() adalah untuk mengalih keluar elemen dari permulaan baris gilir. Peek() digunakan untuk memulangkan item.
Output:
Jadi ada banyak cara kita boleh menggunakan koleksi. Koleksi adalah serupa dengan tatasusunan. Di sini kita tidak perlu menentukan saiz terlebih dahulu tidak seperti tatasusunan.
Atas ialah kandungan terperinci Koleksi dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!