C # String zamień na słownik

Mam ciąg, na którym muszę wykonać kilka wymian. mamDictionary<string, string> gdzie mam zdefiniowane pary search-replace. Stworzyłem następujące metody rozszerzenia, aby wykonać tę operację:

public static string Replace(this string str, Dictionary<string, string> dict)
{
    StringBuilder sb = new StringBuilder(str);

    return sb.Replace(dict).ToString();
}

public static StringBuild Replace(this StringBuilder sb, 
    Dictionary<string, string> dict)
{
    foreach (KeyValuePair<string, string> replacement in dict)
    {
        sb.Replace(replacement.Key, replacement.Value);
    }

    return sb;
}

Czy jest na to lepszy sposób?

questionAnswers(6)

yourAnswerToTheQuestion