оптимизировать строку. Формат + заменить - PullRequest
2 голосов
/ 21 апреля 2010

У меня есть эта функция. Визуальный студийный профиль пометил строку строкой. Отформатируйте ее как горячую и большую часть времени я провожу.

Как я могу написать этот цикл более эффективно?

    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();
    }

Ответы [ 2 ]

1 голос
/ 21 апреля 2010

Вместо вычисления s2s foreach v каждый раз, когда вызывается этот метод; Вы можете хранить их в предварительном порядке. Конечно, я предполагаю, что IllegalChars и seperator остаются прежними.

0 голосов
/ 21 апреля 2010
  • В string.format вы можете помещать объекты, поэтому (Int16) v не требуется. Вы можете поставить "V"
...