, - , Intersect.
ProjectionEqualityComparer MiscUtil, :
var comparer = ProjectionEqualityComparer<KeyValuePair<string, string>>.Create
(x => x.Key);
var result = listA.Intersect(listB, comparer);
, :
var commonPairs = from pairA in listA
join pairB in listB on pairA.Key equals pairB.Key
select new { pairA, pairB };