在C# Main方法中,string[] args
参数是如何被填充的?
例如,空格是否会被去除?任何元素是否为空字符串或null?单引号和双引号如何处理?
MSDN没有解释,只是简单地说:
Main方法的参数是表示命令行参数的String数组
在C# Main方法中,string[] args
参数是如何被填充的?
例如,空格是否会被去除?任何元素是否为空字符串或null?单引号和双引号如何处理?
MSDN没有解释,只是简单地说:
Main方法的参数是表示命令行参数的String数组
myexe.exe "Hello World" Joe Bloggs
{"Hello World", "Joe", "Bloggs"}
string[]
作为参数。它只指定了一个 string
(请参阅 Win32 CreateProcess
API)。.NET 运行时会解释该字符串,以便您获得一个漂亮的 string[]
。 - usr命令行参数由空格分隔。您可以使用双引号(“”)在参数中包含空格。然而,单引号(')不提供此功能。
如果双引号紧随两个或偶数个反斜杠,则每个前进的反斜杠对将被替换为一个反斜杠,并删除双引号。如果双引号紧随奇数个反斜杠(包括一个),则每个前面的一对将被替换为一个反斜杠,并删除剩余的反斜杠;但是,在这种情况下,不会删除双引号。
感谢评论中的Christian.K。
传递给您的程序的参数取决于操作系统。
您应该测试参数是否为null,空字符串,去除空格,并在程序中处理单引号/双引号(如有必要)。