Search  
Always will be ready notify the world about expectations as easy as possible: job change page
May 16, 2022

Best LINQ performance

Best LINQ performance
Author:
Hussein NM
Source:
Views:
3458

In this article, I will show the most performant way to write queries for a collection of objects in .Net Core. The article discusses the common methods of LINQ and their comparison. After reading this article, you may have to review your project code!

Comparisons were made between query syntax, called LINQ, and method syntax called LAMBDA.

💡 Connect with me on LinkedIn: https://www.linkedin.com/in/hussein-nm/

✨ Where()

LINQ_Where (Method name):

LAMBDA_Where:

🚀 Performance

Which one do you think is faster?

In this simple performance query, both methods are similar.

✨ Any()

LINQ_Any:

LAMBDA_Where_Any:

LAMBDA_Any:

🚀 Performance

Using Any() as the LAMBDA_Any method is faster.

✨ First()

LINQ_First:

LAMBDA_Where_First:

LAMBDA_First:

🚀 Performance

Using First() as the method a LAMBDA call is faster.

✨ FirstOrDefault()

LINQ_FirstOrDefault:

LAMBDA_Where_FirstOrDefault:

LAMBDA_FirstOrDefault:

🚀 Performance

Using FirstOrDefault() as the method a LAMBDA call is faster.

✨ Last()

LINQ_Last:

LAMBDA_Where_Last:

LAMBDA_Last:

🚀 Performance

Using Last() as the method a LAMBDA call is faster.

✨ LastOrDefault()

LINQ_LastOrDefault:

LAMBDA_Where_LastOrDefault:

LAMBDA_LastOrDefault:

🚀 Performance

Using LastOrDefault() as the method a LAMBDA call is faster.

Conclusion

As shown in this article, you should always use Any(), First(), FirstOrDefault(), Last(), LastOrDefault, or Where() at the beginning of a LAMBDA statement.

Similar
Aug 15, 2021
.NET has a large number of built in exceptions. However, there maybe times when none of the built exceptions seem adequate for your particular scenario and you will need to create your own custom (AKA “user defined”) exception. This post...
Jan 7
Author: Sebastian Stupak
Few days ago I stopped myself while writing code. I wrote my LINQ filtering wrong. items.Where(x => x > 0).Any(); (Obviously, it’s a pseudo code) I realized my mistake immediately, changed the code, and went on with my day. Then...
May 31, 2023
Author: Anton Selin
LINQ (Language Integrated Query) is a powerful querying tool in .NET that allows you to perform complex queries directly in C#. The System.Linq.Expressions namespace is a part of LINQ that provides classes, interfaces, enumerations and structures to work with lambda...
Jun 7, 2021
Author: Himanshu Sheth
One of the most challenging things to do is ‘making the right choice.’ Arriving at a decision becomes even more complicated when there are multiple options in front of you☺. The same is the case with choosing a testing framework...
Send message
Type
Email
Your name
*Message