C# LinkedList<T> 类使用链表的概念。它允许我们快速插入和删除元素。它可以有重复的元素。它位于 System.Collections.Generic 命名空间中。
它允许我们在索引之前或最后一个索引处添加和删除元素。
让我们看一个通用 LinkedList<T> 类的示例,该类使用 AddLast() 和 AddFirst() 方法存储元素并使用 for-each 循环迭代元素。
using System; using System.Collections.Generic; public class LinkedListExample { public static void Main(string[] args) { // Create a list of strings var names = new LinkedList<string>(); names.AddLast("Sonoo Jaiswal"); names.AddLast("Ankit"); names.AddLast("Peter"); names.AddLast("Irfan"); names.AddFirst("John");//added to first index // Iterate list element using foreach loop foreach (var name in names) { Console.WriteLine(name); } } }
输出:
John Sonoo Jaiswal Ankit Peter Irfan
让我们看看另一个在特定节点之前和之后存储元素的通用 LinkedList<T> 类的示例。要获取特定节点,我们调用 Find() 方法。
using System; using System.Collections.Generic; public class LinkedListExample { public static void Main(string[] args) { // Create a list of strings var names = new LinkedList<string>(); names.AddLast("Sonoo"); names.AddLast("Ankit"); names.AddLast("Peter"); names.AddLast("Irfan"); //insert new element before "Peter" LinkedListNode<String> node=names.Find("Peter"); names.AddBefore(node, "John"); names.AddAfter(node, "Lucy"); // Iterate list element using foreach loop foreach (var name in names) { Console.WriteLine(name); } } }
输出:
Sonoo Ankit John Peter Lucy Irfan
正如您在上面的输出中看到的那样,在“Peter”之前和之后添加了“John”和“Lucy”。