Deferring LINQ execution
LINQ implements a deferred execution concept when we query the data from a collection. This means that the query will not be executed in the constructor time but in the enumeration process instead. For example, we use the Where
operator to query data from a collection. Actually, the query is not executed until we enumerate it. We can use the foreach
operation to call the MoveNext
command in order to enumerate the query. To discuss deferred execution in further detail, let's take a look at the following code, which we can find in the DeferredExecution.csproj
project:
public partial class Program { public static void DeferredExecution() { List memberList = new List() { new Member { ID = 1, Name = "Eddie Morgan", Gender = "Male", MemberSince = new DateTime(2016, 2, 10) }, new Member { ID = 2, ...