devxlogo

Avoid Repeated Execution of LINQ Queries in C#

Avoid Repeated Execution of LINQ Queries in C#

LINQ queries follow deferred execution. This means when you access a LINQ query, it will get executed. If not well designed, it will execute every time you access it. In order to avoid that, convert the result to a list and then do further operations on it.

The below query explains the difference:

int[] kidsAges = { 10, 8, 12, 14, 15, 16 };var youngTeens = kidsAges.Where(k = k  var youngTeensCount = youngTeens.Count();var youngTeensMaxAge = youngTeens.Max();

In the above example, the LINQ query is executed twice. To avoid this, do a .ToList()?on the LINQ Query and then use its result.

int[] kidsAges = { 10, 8, 12, 14, 15, 16 };var youngTeens = kidsAges.Where(k => k < 14).ToList();var youngTeensCount = youngTeens.Count();var youngTeensMaxAge = youngTeens.Max();
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist