HOWTO · Csharp

Converter lista em IEnumerable em C#

Não há necessidade de converter uma List em um IEnumerable porque a estrutura de dados List já implementa a interface IEnumerable, mas ainda podemos usar alguns métodos para converter uma List em uma estrutura de dados IEnumerable.

Nesta página

Este tutorial discutirá os métodos para converter uma lista em IEnumerable em C#.

Converta a lista em IEnumerable com a palavra-chave as em C#

Podemos converter a estrutura de dados List para a estrutura de dados IEnumerable com a palavra-chave as em C#. Veja o seguinte exemplo.

using System;
using System.Collections.Generic;

namespace list_to_ienumerable {
  class Program {
    static void Main(string[] args) {
      List<int> ilist = new List<int> { 1, 2, 3, 4, 5 };
      IEnumerable<int> enumerable = ilist as IEnumerable<int>;
      foreach (var e in enumerable) {
        Console.WriteLine(e);
      }
    }
  }
}

Resultado:

1 2 3 4 5

No código acima, convertemos a Lista de inteiros ilist em IEnumerable de inteiros enumerable com a palavra-chave as em C#.

Converta a lista em IEnumerable com o método Typecasting em C#

Também podemos usar o método typecasting para armazenar um objeto do tipo de dados List em um objeto do tipo de dados IEnumerable, conforme mostrado no exemplo de código a seguir.

using System;
using System.Collections.Generic;

namespace list_to_ienumerable {
  class Program {
    static void Main(string[] args) {
      List<int> ilist = new List<int> { 1, 2, 3, 4, 5 };
      IEnumerable<int> enumerable = (IEnumerable<int>)ilist;
      foreach (var e in enumerable) {
        Console.WriteLine(e);
      }
    }
  }
}

Resultado:

1 2 3 4 5

No código acima, convertemos a Lista de inteiros ilist em IEnumerable de inteiros enumerable com o método typecasting em C#.

Converta a lista em IEnumerable com o método LINQ em C#

O LINQ integra a funcionalidade de consulta SQL com as estruturas de dados em C#. Podemos usar a função AsEnumerable() do LINQ para converter uma lista em um IEnumerable em C#. O exemplo de código a seguir nos mostra como podemos converter uma estrutura de dados List em uma estrutura de dados IEnumerable com a função AsEnumerable() de LINQ em C#.

using System;
using System.Collections.Generic;
using System.Linq;

namespace list_to_ienumerable {
  class Program {
    static void Main(string[] args) {
      List<int> ilist = new List<int> { 1, 2, 3, 4, 5 };
      IEnumerable<int> enumerable = ilist.AsEnumerable();
      foreach (var e in enumerable) {
        Console.WriteLine(e);
      }
    }
  }
}

Resultado:

1 2 3 4 5

No código acima, convertemos a Lista de inteiros ilist em IEnumerable de inteiros enumerable com a função ilist.AsEnumerable() em C#.