【问题标题】:optimize a string.Format + replace优化 string.Format + 替换
【发布时间】:2010-04-21 08:16:38
【问题描述】:

我有这个功能。 Visual Studio 配置文件将带有 string.Format 的行标记为热门,我花了很多时间。

我怎样才能更有效地编写这个循环?

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

【问题讨论】:

    标签: optimization stringbuilder string.format


    【解决方案1】:

    而不是每次调用这个方法时计算s2s foreach v;您可以预先计算好它们。当然,我假设 IllegalChars 和分隔符保持不变。

    【讨论】:

    • 我打算将循环重写为迭代器 sz。好主意。(我很高兴对这个有新的看法)
    【解决方案2】:
    • 您可以在 string.format 中放置对象,因此不需要 (Int16)v。您可以提供“v”

    【讨论】:

    • 这会给我名字而不是枚举值。 - 编辑 - 从头开始​​。字符(字母)而不是数值。
    猜你喜欢
    • 1970-01-01
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多