【发布时间】:2021-03-10 11:11:18
【问题描述】:
我正在创建一个带有默认参数和 params 关键字的方法,以便在我的方法中接受多个输入
public static string MyMethod(char input1 = '/', params string[] input2)
{
//my logic
return "";
}
方法调用
var getDataOne = MyMethodClass.MyMethod('/',"String1","String2"); // working fine
var getDataTwo = MyMethodClass.MyMethod("String1","String2"); // Not working
错误:错误 CS1503 参数 1:无法从 'string' 转换为 'char'
我该如何解决这个问题。我必须摆脱默认参数吗?
【问题讨论】:
-
改用重载。应谨慎使用可选参数;将它们与
params参数结合起来会导致特别模棱两可的情况。 -
@JeroenMostert 是的,我明白了,但是 C# 除了使用重载之外没有其他方法吗?
标签: c# .net visual-studio .net-core