Obtenir une liste d'éléments distincts et leur nombre

J'ai un objet, qui possède de nombreuses propriétés, mais les deux seuls à s'inquiéter sont:

myobject.ID qui est un int
myobject.Names qui est un HashSet

Puis j'ai une List de ces objets, qui ressemble à quelque chose de similaire à ceci:

List<myobject>

- Je utiliser Linq pour obtenir une partie des données dans un relais, mais je ne suis pas sûr de la façon d'obtenir la liste des Noms et combien de fois ils affichent.

Souhaitez utiliser Linq pour éviter d'avoir à boucle à travers les données.

Que mes balises, c'est un ASP.NET la solution à l'aide de C#.

Quelques précisions:
Disons que j'ai juste trois éléments dans ma liste:
Le point 1 a John, Fred, Prise dans ses noms.
Article 2 a John, Fred, Joe dans ses noms.
Le point 3 a John dans ses noms.

Je suis en train de retourner les éléments suivants:
John - 3
Fred - 2
Jack - 1
Joe - 1

Aussi, comme une remarque, je suis familier avec le fait d'avoir à écrire mes propres comparer pour mon objet, je suis juste en manque le 'comment' de la solution globale dans mes pensées.

source d'informationauteur Clarence Klopfstein