Propiedad de conteo única de Linq
data.Select(x => x.Id).Distinct().Count();
loonix
data.Select(x => x.Id).Distinct().Count();
subStr.Select(x => x).Distinct().Count();