方法:带一个参数和单个字符串的params字符串[]

本文关键字:字符串 单个 params 参数 一个 方法 | 更新日期: 2023-09-27 18:26:15

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

假设您重载了一个方法(编译器允许这种重载):

private static string AddURISlash(params string[] remotePaths) //multiple strings
private static string AddURISlash(string remotePaths) //single string

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

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

感谢

方法:带一个参数和单个字符串的params字符串[]

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

您已经阅读了规范,其中解释了如何处理过载解析。根据第7.5.3.2节,相关要点为:

否则,如果Mp以其正规形式适用,并且MQ具有params数组并且仅以其展开形式适用,则Mp优于MQ

因此,不需要参数数组扩展的版本(单字符串版本)是在编译时选择的,而不是参数数组版本。