我有这个:
static void Main(string[] arg)
和:
Main("month");
但由于某种原因,这给出了错误:
'Numbers.Program.Main(string[])' 的最佳重载方法匹配有一些无效参数
和
参数 1:无法从 'string' 转换为 'string[]'
我该如何解决这些问题?
我有这个:
static void Main(string[] arg)
和:
Main("month");
但由于某种原因,这给出了错误:
'Numbers.Program.Main(string[])' 的最佳重载方法匹配有一些无效参数
和
参数 1:无法从 'string' 转换为 'string[]'
我该如何解决这些问题?
其他答案是正确的(编译器不允许您将字符串作为参数传递给期望字符串数组的方法),但另一种方法是更改方法的方法签名,Main
如下所示:
static void Main(params string[] arg)
该params
关键字允许单独传递参数而不是数组。因此,以下调用将是等效的:
Main("month");
Main(new string[] {"month"});
顺便说一句——虽然它是合法的,Main
但从您自己的程序中调用该方法(您的程序的入口点)并不常见。根据您的要求,您可能需要考虑一个只有一个字符串作为参数的新方法,例如:
public static void MyMethod(string s)
{
// your code
}
// in your Main method
MyMethod("month");
字符串是一个字符串。String[]
是一个字符串数组。
尝试这个:
String[] parameters = new String[] {"month"};
Main(parameters);
有关数组和声明/实例化它们的更多信息,请参阅http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx。