In addition to the Solution #1,
LINQ has
OrderByDescending
and
Distinct
methods. As you want unique records by
Id, you first need to group the records by Id, apply distinct on it and then sort it.
var data = list.GroupBy(x => x.Id).Select(g => g.First()).ToList();
var datalist = data.Distinct().OrderByDescending(x => x.ModifiedDate);
This might solve your problem, give it a try!
KR