using System.Collections.Generic;
public static void Main()
var list = new List<KeyValuePair<string, List<string>>>(){
new KeyValuePair<string,List<string>>("User 1", new List<string>(){ "trigger1" ,"trigger2", "trigger3" }),
new KeyValuePair<string,List<string>>("User 2", new List<string>(){ "trigger1" ,"trigger2" }),
new KeyValuePair<string,List<string>>("User 3", new List<string>(){ "trigger2" ,"trigger3", "trigger4" }),
new KeyValuePair<string,List<string>>("User 1", new List<string>(){ "trigger0" ,"trigger4" }),
var dictionary = list.GroupBy(l => l.Key)
x => x.SelectMany(l => l.Value)
foreach(var key in dictionary.Keys)
Console.WriteLine("Key: " + key + ", Values: " + String.Join(",",dictionary[key].ToArray()));