📜  C#|获取一个通过LinkedList进行迭代的枚举数<T>(1)

📅  最后修改于: 2023-12-03 14:40:30.971000             🧑  作者: Mango

C# | 获取一个通过 LinkedList 进行迭代的枚举数<T>

LinkedList 类是 .NET 中的一个双向链表实现,用于存储和操作一个元素顺序集。为了遍历这个链表,我们可以使用一个迭代器(Enumerator)来访问每个元素。本文将向程序员介绍如何获取一个通过 LinkedList 进行迭代的枚举数(Enumerator)。

创建 LinkedList<T>

要使用 LinkedList 类,首先需要创建一个 LinkedList<T> 对象,并添加一些元素。下面是一个示例,演示如何创建一个包含整数的 LinkedList。

LinkedList<int> linkedList = new LinkedList<int>();
linkedList.AddLast(1);
linkedList.AddLast(2);
linkedList.AddLast(3);
获取枚举数(Enumerator)

要获取 LinkedList<T> 上的枚举数,可以使用 GetEnumerator() 方法。这将返回一个 IEnumerator<T> 实例,允许我们在链表上进行迭代。

IEnumerator<int> enumerator = linkedList.GetEnumerator();
迭代链表

获得 LinkedList<T> 的枚举数之后,我们可以使用 MoveNext() 方法来逐个访问链表的元素。在每次调用 MoveNext() 方法之前,我们可以使用 Current 属性来访问当前元素。

下面是一个简单的例子,展示如何使用枚举数遍历链表中的元素,并打印它们的值。

IEnumerator<int> enumerator = linkedList.GetEnumerator();
while (enumerator.MoveNext())
{
    int value = enumerator.Current;
    Console.WriteLine(value);
}
使用 foreach 循环

C# 中的 foreach 循环可以用来迭代任何实现了 IEnumerable<T> 接口的类型。由于 LinkedList<T> 实现了该接口,我们可以直接使用 foreach 循环来遍历链表中的元素。

foreach (int value in linkedList)
{
    Console.WriteLine(value);
}
完整示例

以下是一个完整的示例,演示了如何使用枚举数和 foreach 循环来遍历 LinkedList<T> 中的元素。

using System;
using System.Collections.Generic;

public class Program
{
    public static void Main(string[] args)
    {
        LinkedList<int> linkedList = new LinkedList<int>();
        linkedList.AddLast(1);
        linkedList.AddLast(2);
        linkedList.AddLast(3);

        // 使用枚举数
        IEnumerator<int> enumerator = linkedList.GetEnumerator();
        while (enumerator.MoveNext())
        {
            int value = enumerator.Current;
            Console.WriteLine(value);
        }

        Console.WriteLine();

        // 使用 foreach 循环
        foreach (int value in linkedList)
        {
            Console.WriteLine(value);
        }
    }
}

这个示例将输出:

1
2
3

1
2
3

现在,你已经学会获取通过 LinkedList 进行迭代的枚举数了!你可以使用枚举数逐个访问链表中的元素,或者使用 foreach 循环来遍历整个链表。希望本文能对你有所帮助!