集合可以定義為C#中使用的一種類,用於動態記憶體分配,用於儲存和獲取類別的內容,並且可以用於執行多種操作。在 C# 中,集合以「System.Collections.Generic 類別」、「System.Collections」的形式運作。並發類別」和「System.Collections 類別」。在儲存模式方面,集合複製了陣列的資料結構,唯一的差異是,與陣列不同,集合不需要定義所需的大小。
有 3 種使用集合的方法,如下圖
以下是 C# 中各種類型集合的一些範例:-
它是 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 用於迭代並顯示值。
輸出:
它是 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<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(); } } } }
在上面的例子中,集合是列表類型的。 Add() 和Remove() 方法分別用於在清單中新增或刪除元素。 Insert() 也用於將元素插入清單中定義的索引處。 Foreach 用於迭代並顯示值。
輸出:
它由集合中的鍵和值組成。
代碼:
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(); } } } }
在上面的範例中,集合的類型是sortedlist。列表中有多對鍵和值。它基本上代表了排序後的鍵和值對。
輸出:
它基本上允許順序存取元素。
代碼:
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(); } } } }
在上面的範例中,集合的類型是Linkedlist。 AddLast() 用於將元素放置在清單的最後一個位置,而 AddFirst() 用於將元素放置在清單的第一個位置。鍊錶由一個節點組成。 Find() 用於尋找值並在其前面放置值。
輸出:
它由唯一的一對鍵和值組成。
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(); } } }
在上面的範例中,集合是字典類型,其中包含鍵及其值。 Foreach 用於鍵和值的迭代。
輸出
它是基於後進先出結構。隊列的最後一個元素是第一個被刪除的元素。
代碼:
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(); } } } }
在上面的例子中,集合的類型是stack。 Push() 用於將元素插入到頂部。 Pop() 用於移除並傳回元素,Peek() 用於傳回棧頂元素。
輸出:
它是基於先進先出結構。佇列的第一個元素是第一個被刪除的元素。
代碼:
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(); } } } }
在上面的例子中;集合是隊列類型。 Enqueue()用於在佇列末尾插入元素。 Dequeue() 用於從佇列開頭刪除元素。 Peek() 用於返回專案。
輸出:
所以我們可以用多種方式使用這些集合。集合類似數組。 與陣列不同,這裡我們不需要預先定義大小。
以上是C# 中的集合的詳細內容。更多資訊請關注PHP中文網其他相關文章!