集合可以定义为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中文网其他相关文章!