C#教程
C#控制语句
C#函数
C#数组
C#面向对象
C#命名空间和异常
C#文件IO
C#集合
C#多线程
C#其它

C# LinkedList<T>

C# LinkedList<T>

C# LinkedList 类使用链表的概念。它允许我们快速插入和删除元素。它可以有重复的元素。它位于 System.Collections.Generic 命名空间中。
它允许我们在索引之前或最后一个索引处添加和删除元素。

C# LinkedList 示例

让我们看一个使用 AddLast() 和 AddFirst() 方法存储元素并使用 for-each 循环迭代元素的通用 LinkedList 类的示例。
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
注意: 与 List 不同,您不能使用 Collection 初始值设定项创建 LinkedList。

C# LinkedList 示例 2

让我们看另一个通用 LinkedList 类的示例,该类存储特定节点前后的元素。为了获取特定节点,我们调用 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
正如你在上面的输出中看到的,"John"和"Lucy"被添加在"Peter"之前和之后。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4