LINQ approach to flatten Dictionary to string
Something like this should work:

public static string ToString(this Dictionary&lt;string,string&gt; source, string keyValueSeparator, string sequenceSeparator)
{
  if (source == null)
    throw new ArgumentException("Parameter source can not be null.");

  var pairs = source.Select(x =&gt; string.Format("{0}{1}{2}", x.Key, keyValueSeparator, x.Value));

  return string.Join(sequenceSeparator, pairs);
}