方法:使用一个参数和单个字符串params string []

apa*_*cay 4 c# compiler-construction

这来自另一个问题:( 如何使用未指定数量的参数来构建一个方法C#).但由于这是一个不同的问题,我不得不在这里问

假设您有一个方法重载(编译器允许此重载):

private static string AddURISlash(params string[] remotePaths) //multiple strings
private static string AddURISlash(string remotePaths) //single string
Run Code Online (Sandbox Code Playgroud)

当只收到一个参数时,您应该如何知道将执行哪些操作?

有会议吗?或者你需要测试一次的东西?我是否必须假设,因为要执行单个字符串方法的唯一方法是接收单个字符串,那就是明确执行的字符串

谢谢

Jon*_*eet 8

当只收到一个参数时,您应该如何知道将执行哪些操作?

您阅读了规范,该规范解释了如何处理重载决策.从7.5.3.2节开始,相关的要点是:

否则,如果M P是适用在其正常形式和M Q具有参数数组和仅在其膨胀形式是适用的,则M P大于M更好Q.

因此,该版本并不需要参数阵列扩展(您的单一字符串版本)选择在编译时间,而不是参数数组版本.