【发布时间】:2009-08-10 08:24:22
【问题描述】:
.NET 提供了四个非常相似的String.Format(...) 版本(不包括采用IFormatProvider 参数的版本):
Format(String, Object)
将指定字符串中的一个或多个格式项替换为指定对象的字符串表示形式。Format(String, Object, Object)
将指定字符串中的格式项替换为两个指定对象的字符串表示形式。
Format(String, Object, Object, Object)
将指定字符串中的格式项替换为三个指定对象的字符串表示形式。
Format(String, Object[])
将指定字符串中的格式项替换为指定数组中对应对象的字符串表示形式。
为什么不只使用带有(params) object[] 参数的那个?具有固定数量参数(1、2 和 3)的单独方法是否有性能提升?
想必现实世界中大多数对string.Format的调用都有1-3个参数。
【问题讨论】:
-
有一个参数过载:
public static string Format(string format, params object[] args); -
这就是我所说的“为什么不只有一个带有 params object[] 参数的?”...我会澄清的。
-
我的意思是,为什么还有其他三个版本?
标签: .net performance string formatting