distinct linq c# code example

Example 1: C# .NET Core linq Distinct

var distinctUsers = allUsers
    .GroupBy(x => x.UserId)
    .Select(x => x.First())
    .ToList();

Example 2: c# distinct comparer multiple properties

List<Person> distinctPeople = allPeople
  .GroupBy(p => new {p.PersonId, p.FavoriteColor} )
  .Select(g => g.First())
  .ToList();

Example 3: how to use distinct in linq query in c#

var distValues = objList.Select(o=>o.typeId).Distinct().ToList();

Example 4: c# distinct comparer multiple properties

public static IEnumerable<TSource> DistinctBy<TSource, TKey>
    (this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
{
    HashSet<TKey> seenKeys = new HashSet<TKey>();
    foreach (TSource element in source)
    {
        if (seenKeys.Add(keySelector(element)))
        {
            yield return element;
        }
    }
}

Example 5: linq distinct

var uniquePeople = from p in people
                   group p by new {p.ID} //or group by new {p.ID, p.Name, p.Whatever}
                   into mygroup
                   select mygroup.FirstOrDefault();