2010-09-08 12 views
2

用于分隔命令行参数(如空格,\ t)的字符是什么? 如何检查一个字符串是否包含分隔符? 例如:Check("abcd")是假的,Check("ab cd")Check("ab\tcd")是真的命令行参数分隔符以及如何在C#中检查它?

+2

见[含有命令行参数转换成在C#字符串数组分割字符串](http://stackoverflow.com/questions/298830/split-string-containing-command-line-parameters-into-字符串在-C)。它有一个托管解决方案和调用Windows CommandLineToArgvW函数的指令。 – 2010-09-08 04:20:18

回答

1

C#默认分割上的空白基地的论据,不应该有一个需要分割你的论点。

但是,如果你一定要做到出于某种原因,然后

您可以分割你命令使用string.split(”“)行参数和得到的字符串数组

所以基本上,你会做什么这样

bool Check(string argument) 
{ 
    string[] arguments = argument.split(' '); 
    if (arguments.Length > 1) // In your case if you are expecting 2 or more arguments 
    { 
     return true; 
    } 
    return false; 
} 
+1

但是还有其他的分隔符而不是空格,对吗? – 2010-09-08 04:17:17

+0

C#默认使用空格作为分隔符。如果你想使用其他分隔符,那么你可以采用参数并使用你想支持的分隔符来分割它。所以如果你想使用' - '分开它,那么你可以使用argument.split(' - ') – Ankit 2010-09-08 04:25:31

+1

我的意思是,在命令行中,如果你传递“a \ tb”a和b会分离,对吧?我询问如果从控制台传递“a \ tb”,命令行 – 2010-09-08 04:34:47