Answers:
主要原因是性能。“无限制参数”的语法糖实际上是一个字符串数组。如果仅传递一个字符串,为什么要创建仅包含一个字符串的数组?尤其是如果此方法的〜90%的调用将使用3个或更少的参数,则不需要重量较大的数组对象。由于不需要循环来定义方法,因此它的内存要轻一些,处理时间也要少一些。如果您有三个字符串,则只需为三个字符串编码。
params string[]
是为了提高可读性。
params
而仅对边缘情况使用重载。StringBuilder.AppendFormat()
重载家族就是一个例子。”
语法糖。
处理文件路径时,很少有固定值是非常普遍的。在这些情况下,直接使用它们而不是必须将它们打包成一个数组更为方便。
params
。
Combine
使用零个或一个路径段传递甚至没有意义,但是该params
版本允许您执行此操作。