How can I convert a List
to an IEnumerable
and then back again?
I want to do this in order to run a series
List
to IEnumerable
List
implements IEnumerable
(and many other such as IList
) therefore there is no need to convert a List back to IEnumerable since it already a IEnumerable
.
Example:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
Person person1 = new Person() { Id = 1, Name = "Person 1" };
Person person2 = new Person() { Id = 2, Name = "Person 2" };
Person person3 = new Person() { Id = 3, Name = "Person 3" };
List people = new List() { person1, person2, person3 };
//Converting to an IEnumerable
IEnumerable IEnumerableList = people;
You can also use Enumerable.AsEnumerable()
method
IEnumerable iPersonList = people.AsEnumerable();
IEnumerable
to List
IEnumerable OriginallyIEnumerable = new List() { person1, person2 };
List convertToList = OriginallyIEnumerable.ToList();
This is useful in Entity Framework.