Try:
List<KeyValuePair<int, int>> list = new List<KeyValuePair<int, int>>()
{ new KeyValuePair<int, int>(1, 1),
new KeyValuePair<int, int>(1, 2),
new KeyValuePair<int, int>(1, 3),
new KeyValuePair<int, int>(2, 3)};
list = list.GroupBy(kvp => kvp.Key).Select(g => new KeyValuePair<int, int>(g.Key, (int) g.Sum(x => x.Value))).ToList();