Am schnellsten mehrere Zeichen in einer Zeichenfolge ersetzen?

Ich importiere einige Datensätze mit mehrerenstring Felder von einer alten zu einer neuen Datenbank. Es scheint sehr langsam zu sein und ich vermute, es liegt daran, dass ich das mache:

foreach (var oldObj in oldDB)
{
    NewObject newObj = new NewObject();
    newObj.Name = oldObj.Name.Trim().Replace('^', 'Č').Replace('@', 'Ž').Replace('[', 'Š')
        .Replace(']', 'Ć').Replace('`', 'ž').Replace('}', 'ć')
        .Replace('~', 'č').Replace('{', 'š').Replace('\\', 'Đ');
    newObj.Surname = oldObj.Surname.Trim().Replace('^', 'Č').Replace('@', 'Ž').Replace('[', 'Š')
        .Replace(']', 'Ć').Replace('`', 'ž').Replace('}', 'ć')
        .Replace('~', 'č').Replace('{', 'š').Replace('\\', 'Đ');
    newObj.Address = oldObj.Address.Trim().Replace('^', 'Č').Replace('@', 'Ž').Replace('[', 'Š')
        .Replace(']', 'Ć').Replace('`', 'ž').Replace('}', 'ć')
        .Replace('~', 'č').Replace('{', 'š').Replace('\\', 'Đ');
    newObj.Note = oldObj.Note.Trim().Replace('^', 'Č').Replace('@', 'Ž').Replace('[', 'Š')
        .Replace(']', 'Ć').Replace('`', 'ž').Replace('}', 'ć')
        .Replace('~', 'č').Replace('{', 'š').Replace('\\', 'Đ');
    /*
    ... some processing ...
    */
}

Jetzt habe ich einige Posts und Artikel im Internet gelesen, in denen ich viele verschiedene Gedanken dazu gesehen habe. Einige sagen, es ist besser, wenn ich Regex mit tun würdeMatchEvaluatorEinige sagen, es sei das Beste, es so zu lassen, wie es ist.

Es ist zwar möglich, dass es für mich einfacher ist, nur einen Benchmark-Fall für mich selbst zu erstellen, aber ich habe mich entschlossen, hier eine Frage zu stellen, falls sich jemand über dieselbe Frage Gedanken gemacht hat oder falls es jemand im Voraus weiß.

Was ist der schnellste Weg, dies in C # zu tun?

BEARBEITEN

Ich habe den Benchmark gepostetHier. Auf den ersten Blick scheint Richards Weg der schnellste zu sein. Seine Art und Weise und auch die von Marc würden jedoch aufgrund des falschen Regex-Musters nichts tun. Nach dem Korrigieren des Musters von

@"\^@\[\]`\}~\{\\" 

zu

@"\^|@|\[|\]|`|\}|~|\{|\\" 

es sieht so aus, als ob der alte Weg mit verketteten .Replace () - Aufrufen der schnellste ist

Antworten auf die Frage(7)

Ihre Antwort auf die Frage