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


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

它适用于对实现该 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

更新于: 25-11-2020

8K+ 浏览

开启您的 职业生涯

完成课程并获得认证

立即开始
广告