optimieren, um eine string.Format + ersetzen
-
30-09-2019 - |
Frage
ich diese Funktion. Das Visual Studio-Profil markierte die Zeile mit string.Format so heiß und war ich verbringe viel von meiner Zeit.
Wie kann ich schreibe diese Schleife effizienter?
public string EscapeNoPredicate(string sz)
{
var s = new StringBuilder(sz);
s.Replace(sepStr, sepStr + sepStr);
foreach (char v in IllegalChars)
{
string s2 = string.Format("{0}{1:X2}", seperator, (Int16)v);
s.Replace(v.ToString(), s2);
}
return s.ToString();
}
Lösung
Statt s2s der Berechnung foreach jedes Mal v diese Methode aufgerufen wird; Sie können speichern sie vorberechnet. Natürlich gehe davon aus ich IllegalChars und seperator bleibt gleich.
Andere Tipps
- In einem string.format Sie Objekte setzen können, so (Int16) v ist nicht erforderlich. Sie können "v" liefern
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow