Using LINQ Distinct to Select Unique Data
LINQ
26 Articles
In this article, let's learn about how to use Distinct and DistinctBy in LINQ in .NET.
Note: If you have not done so already, I recommend you read the article on Using LINQ Skip to Select Specific Data in Collections.
Table of Contents
Introduction
We can get unique piece of data from beginning of a collection using LINQ. We're going to use Distinct() and DistinctBy() methods. Let's take a look at each of these methods and how they work.
Get Unique items using Distinct
Sometimes we need to get just a distinct value out of the collection. For instance, we have a bunch of colors in there, we have a few blacks, we have a few violets, we have a few reds,etc., so what we might want to do is say I just want to see the distinct colors, I don't want them all duplicated. So, let's take a look at how we can do that using LINQ and get the unique items.
Code Sample - LINQ Distinct
Get Unique items using DistinctBy
Instead of just getting colors what if we want the entire product object? We can also extract entire product object conditionally using DistinctBy while the condition evaluates to true. This returns the first product object for each color match and ignores the remaining for same color.
Code Sample - LINQ DistinctBy
Summary
In this article we learn't how to get unique data within collection using Distinct and DistinctBy. We also learnt how to get unique object by passing an expression. All these can be used with any IEnumerable or IQueryable types.