So I am using this code
var duplicates = mg.GroupBy(i => new { i.addr1, i.addr2 }) .Where(g => g.Count() > 1)
To get all values, you can use ToList() on IGrouping
ToList()
IGrouping
var duplicates = mg.GroupBy(i => new { i.addr1, i.addr2 }) .Where(g => g.Count() > 1) .Select(g => new {g.Key, Values = g.ToList()});