栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是String.Format和StringBuilder一样有效

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是String.Format和StringBuilder一样有效

注意: 此答案是在.NET 2.0是当前版本时编写的。这可能不再适用于更高版本。

String.Format``StringBuilder
内部使用:

public static string Format(IFormatProvider provider, string format, params object[] args){    if ((format == null) || (args == null))    {        throw new ArgumentNullException((format == null) ? "format" : "args");    }    StringBuilder builder = new StringBuilder(format.Length + (args.Length * 8));    builder.AppendFormat(provider, format, args);    return builder.ToString();}

上面的代码是mscorlib的摘录,因此问题变成“

StringBuilder.Append()
StringBuilder.AppendFormat()
” 更快?

如果没有基准测试,我可能会说,使用可以使上述代码示例运行得更快

.Append()
。但这是一个猜测,请尝试对这两者进行基准测试和/或性能分析以进行适当的比较。

这一章杰里·迪克森(Jerry Dixon)做了一些基准测试:

http://jdixon.dotnetdevelopersjournal.com/string_concatenation_stringbuilder_and_stringformat.htm

更新:

遗憾的是,以上链接自此消失了。但是,“返回机器”上仍然有一个副本:

http://web.archive.org/web/20090417100252/http://jdixon.dotnetdevelopersjournal.com/string_concatenation_stringbuilder_and_stringformat.htm

归根结底,这取决于是否要重复调用字符串格式,即要对100兆字节的文本进行认真的文本处理,还是当用户一次又一次单击按钮时调用它。除非您要执行大量的批处理工作,否则我将坚持使用String.Format,它有助于提高代码的可读性。如果您怀疑性能瓶颈,请在代码上粘贴探查器,然后查看其实际位置。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/433004.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号