But will this code make the dictionary distinct (that values and keys don't repeat). I rather use same key and add the value from the dictionary i'm merging/joining.
Maybe this option makes it ignore
new Dictionary<string, long>(StringComparer.OrdinalIgnoreCase);
new Dictionary<string, long>(StringComparer.OrdinalIgnoreCase);