使用"params"关键字的方法的几个重载

Adi*_*ter 5 .net c# overloading params-keyword

我看了一下Path.Combine,注意到它有四个重载:

  1. string, string
  2. string,string,string
  3. string,string,string,string
  4. params string[]

前三个重载如何有用?
我看到它的方式,第四次超载使其他人毫无意义.我查看了源代码,我确实看到第四个重载的实现有点不同,但即使在这种情况下,我也希望只有一个params重载决定根据数组的长度使用哪个实现.

pho*_*oog 5

根据这个答案/sf/answers/195773441/,这是为了避免创建参数数组的开销,并且因为非params重载对于不支持可变长度的语言的用户来说很方便参数列表.

也可以看看

为什么string.Format有几种风格?