c# distinct by property code example

Example 1: c# distinct by property

objList.Select(o=>o.typeId).Distinct()

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: c# distinct array of objects by values

var uniquePersons = persons.GroupBy(p => p.Email)
                           .Select(grp => grp.First())
                           .ToArray();

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: c# distinct dictionary

var temp = _context.PlayerStats.Where(T => T.allianceId == _surf).Select(T => T.guildId).Distinct();
                var result = new Dictionary<string, string>();
                foreach (var item in temp)               
                    result[item] = _context.PlayerStats.FirstOrDefault(T => T.guildId == item).guildName;               
                return View(result);