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();
    }
War es hilfreich?

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
scroll top