Sources for groups A and B (your unique key), and then select C from all the elements in the group:
var destinations = from s in sources group s by new { sA, sB } into g select new Destination() { A = g.Key.A, B = g.Key.B, Cs = g.Select(x => xC).ToList() };
UPDATE if you need to update existing destinations
foreach(var d in destinations) d.Cs = sources.Where(s => sA == dA && sB && dB).ToList();
OR (I believe it will be faster)
var lookup = sources.ToLookup(s => new { sA, sB }, s => sC); foreach (var d in destinations) d.Cs = lookup[new { dA, dB }].ToList();
Demo
source share