📅  最后修改于: 2023-12-03 14:40:30.971000             🧑  作者: Mango
LinkedList 类是 .NET 中的一个双向链表实现,用于存储和操作一个元素顺序集。为了遍历这个链表,我们可以使用一个迭代器(Enumerator)来访问每个元素。本文将向程序员介绍如何获取一个通过 LinkedList 进行迭代的枚举数(Enumerator)。
要使用 LinkedList 类,首先需要创建一个 LinkedList<T> 对象,并添加一些元素。下面是一个示例,演示如何创建一个包含整数的 LinkedList。
LinkedList<int> linkedList = new LinkedList<int>();
linkedList.AddLast(1);
linkedList.AddLast(2);
linkedList.AddLast(3);
要获取 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);
}
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 循环来遍历整个链表。希望本文能对你有所帮助!