DEV Community

Hootan Hemmati
Hootan Hemmati

Posted on

C# LINQ Example in Simple

LINQ (Language Integrated Query) is a powerful and versatile feature of C# that allows developers to query data from various sources, such as databases, XML documents, and in-memory collections, in a type-safe and efficient manner. It provides a uniform syntax for querying data regardless of the data source and allows for the seamless integration of data queries with the rest of the C# programming language.

Using LINQ, developers can write concise and expressive code to filter, transform, and aggregate data, making it easier to manipulate data in complex applications. LINQ also supports deferred execution, which means that queries are not executed until the data is actually needed, resulting in improved performance and reduced memory usage.

Whether you're working on a small project or a large-scale enterprise application, LINQ can help you write more maintainable and readable code, reduce development time, and increase productivity.

Now let's see some example of Linq in C# :

Filtering

This is the most basic query and is used to filter data based on certain conditions. Here's an example:

var filteredList = myList.Where(item => item.Age > 18);
Enter fullscreen mode Exit fullscreen mode

This will filter out all the items in the myList collection where the Age property is less than or equal to 18.

Projection

This query is used to project the data from one type to another type. Here's an example:

var projectedList = myList.Select(item => new { Name = item.FirstName + " " + item.LastName, Age = item.Age });
Enter fullscreen mode Exit fullscreen mode

This will project the data in the myList collection into a new anonymous type with Name and Age properties.

Ordering

This query is used to order the data based on a specific property. Here's an example:

var orderedList = myList.OrderBy(item => item.LastName);
Enter fullscreen mode Exit fullscreen mode

This will order the data in the myList collection based on the LastName property.

Grouping

This query is used to group the data based on a specific property. Here's an example:

var groupedData = myList.GroupBy(item => item.Department);
Enter fullscreen mode Exit fullscreen mode

This will group the data in the myList collection based on the Department property.

Aggregation

This query is used to perform an aggregate operation on the data, such as calculating the sum or average of a property. Here's an example:

var sumOfAges = myList.Sum(item => item.Age);
Enter fullscreen mode Exit fullscreen mode

This will calculate the sum of the Age property for all items in the myList collection.

Joining

This query is used to join two collections based on a common property. Here's an example:

var joinedData = myList.Join(myOtherList, 
                     item => item.DepartmentId, 
                     otherItem => otherItem.Id,
                     (item, otherItem) => new { Name = item.Name, DepartmentName = otherItem.Name });
Enter fullscreen mode Exit fullscreen mode

This will join the myList collection with the myOtherList collection based on the DepartmentId and Id properties, and project the results into a new anonymous type with Name and DepartmentName properties.

Distinct

This query is used to remove duplicates from a collection. Here's an example:

var distinctData = myList.Distinct();
Enter fullscreen mode Exit fullscreen mode

This will remove any duplicate items from the myList collection.

Any and All

These queries are used to check if any or all items in a collection satisfy a certain condition. Here are some examples:

var hasAdults = myList.Any(item => item.Age > 18);

var allAdults = myList.All(item => item.Age > 18);
Enter fullscreen mode Exit fullscreen mode

The hasAdults variable will be true if any item in the myList collection has an Age greater than 18, and the allAdults variable will be true if all items in the myList collection have an Age greater than 18.

Take and Skip

These queries are used to take a certain number of items from the beginning or skip a certain number of items from the beginning of a collection. Here are some examples:

var firstThree = myList.Take(3);

var skipThree = myList.Skip(3);
Enter fullscreen mode Exit fullscreen mode

The firstThree variable will contain the first three items in the myList collection, and the skipThree variable will contain all items in the myList collection except for the first three.

Top comments (0)