c# distinct array of objects by values

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

Also in C#: