using System.Collections.Generic;
public static void Main()
var collection = new List<Personne>
new Personne{Nom="sara" ,Acces="skc1 / tsk1"},
new Personne{Nom="sara" ,Acces="skc1 / tsk2"},
new Personne{Nom="sara" ,Acces="skc1 / tsk3"},
new Personne{Nom="sara" ,Acces="skc1 / tsk4"},
new Personne{Nom="sara" ,Acces="skc1 / tsk5"},
new Personne{Nom="soufiane", Acces="skc1 /tsk1"},
new Personne{Nom="soufiane", Acces="skc1 /tsk2"},
new Personne{Nom="soufiane", Acces="skc1 / tsk3"},
new Personne{Nom="sawsan", Acces="skc1 /tsk1"},
new Personne{Nom="sawsan", Acces="skc1 /tsk2"},
var uniqueKeys = collection.Select(x => x.Nom).Distinct();
var collectionWithUniqueKeys = new Dictionary<string, IEnumerable<string>>();
foreach (var cle in uniqueKeys)
collectionWithUniqueKeys.Add(cle,collection.Where(x=>x.Nom==cle).Select(x=>x.Acces));
public string Nom {get; set;}
public string Acces {get;set;}