C# LINQ Background Topics
player_one
123.9K views
IEnumerable<T>
Why learn about generators and IEnumerable<T>?
LINQ methods are extension methods to the IEnumerable<T>
interface. It is important to understand how IEnumerable<T>
works to fully understand the more subtle details of how LINQ works.
Collections as IEnumerable<T>
A method returning an object that implements the IEnumerable<T>
interface can be enumerated via a foreach
block. For example:
private IEnumerable<int> GetInts()
{
return new List<int> { 2, 4, 5, 7 };
}
Since List<T>
implements IEnumerable<T>
, you can iterate the return value from GetInts()
like so:
// Will print:
// Value: 2
// Value: 4
// Value: 5
// Value: 7
foreach (int val in GetInts())
{
Console.WriteLine($"Value: {val}");
}
NOTE:
IEnumerable<T>
is an implementation of the Iterator Pattern in C#.
Not all that surprising or impressive, is it? Well, let's take a look at generators next. That's where the true value of IEnumerable<T>
lies.
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.