如何在 C# 中将 IEnumerable 转换为 List 并将 List 转换回 IEnumerable?

csharpserver side programmingprogramming更新于 2025/6/4 11:22:17

IEnumerable 是一个接口,它定义了一个返回 IEnumerator 接口的单一方法 GetEnumerator()。它是所有可以枚举的非泛型集合的基本接口。

这适用于对实现该 IEnumerable 的集合的只读访问,可以将其与 foreach 语句一起使用。

List 类表示可以通过索引访问的对象列表。它属于 System.Collection.Generic 命名空间。

List 类可用于创建不同类型的集合,如整数、字符串等。List 类还提供搜索、排序和操作列表的方法。

示例 1

static void Main(string[] args) {
   List list = new List();
   IEnumerable enumerable = Enumerable.Range(1, 5);

   foreach (var item in enumerable) {
      list.Add(item);
   }
   foreach (var item in list) {
      Console.WriteLine(item);
   }
   Console.ReadLine();
}

输出

1
2
3
4
5

示例 2

将 List 转换为 IEnumerable

static void Main(string[] args) {
   List list = new List();
   IEnumerable enumerable = Enumerable.Range(1, 5);

   foreach (var item in enumerable) {
      list.Add(item);
   }
   foreach (var item in list) {
      Console.WriteLine(item);
   }
   IEnumerable enumerableAfterConversion= list.AsEnumerable();
   foreach (var item in enumerableAfterConversion) {
      Console.WriteLine(item);
   }
   Console.ReadLine();
}

输出

1
2
3
4
5
1
2
3
4
5

相关文章