Pregunta

Tengo esta función. El perfil visual studio marcó la línea con string.Format tan caliente y estaban paso gran parte de mi tiempo.

¿Cómo puedo escribir este bucle de manera más eficiente?

    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();
    }
¿Fue útil?

Solución

En lugar de calcular S2S foreach V cada vez que este método se llama; puede almacenarlos precalculados. Por supuesto que estoy asumiendo IllegalChars y separador sigue siendo igual.

Otros consejos

  • En una string.format puede poner objetos, por lo que no es necesario (Int16) v. Se puede suministrar "v"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top