【发布时间】:2012-12-26 10:08:37
【问题描述】:
我查看了Path.Combine 并注意到它有四个重载:
-
string,string -
string,string,string -
string,string,string,string params string[]
前三个重载有什么用处?
在我看来,第四个重载使其他重载毫无意义。我查看了源代码,确实发现第四个重载的实现有点不同,但即使在这种情况下,我也希望只有一个 params 重载,它根据数组的长度决定使用哪个实现。
【问题讨论】:
-
好吧,
Combine(String, String)是为了向后兼容(4 之前的版本没有任何其他重载)。 -
据我了解,非参数重载允许您跳过创建参数数组和参数迭代器的开销。不过,我不记得我在哪里读到的,所以我是在评论而不是回答。
-
@phoog - 这是有道理的。大多数用途需要组合多达 4 个路径部分。
-
@Oded 实际上,我说的是 params 方法,它们看似不必要地重载了 1、2 和 3 个参数。这是同样的问题,但询问了 string.Format:stackoverflow.com/questions/2796731/…
标签: c# .net overloading params-keyword