Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » .NET » C#
Language: .NET
Expertise: Intermediate
Nov 21, 2017

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();
Srinath M S
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date