c#split string with"exception

Mel*_* A. 2 c# split arguments

我想将一个字符串拆分成部分,以检索参数.

我已经完成了这个功能:

static private string getparam(string input, int index)
    {
        string[] arrparams = input.Split(' ');

        if (arrparams.Length <= index) return "";

        return arrparams[index];
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我通过一个像:

上传C:\ Visual Studio

它将看到"C:\ Visual"作为第一个参数,"Studio"作为第二个和拆分em.

现在我想在Split-Function中做类似异常的事情:当引号之间给出参数时,它应该忽略它中的空格.

然后,当我像这样传递arg:上传"C:\ Visual Studio"时,第一个参数应该是C:\ Visual Studio

那我怎么能实现呢?

谢谢.

Mar*_*ell 10

当前行为的原因是因为你在空间上分裂,所以发现它在空间上分裂应该不会令人震惊.

但更简单的解决方法是:不要这样做.让运行时担心它:

static void Main(string[] args) { ... }
Run Code Online (Sandbox Code Playgroud)

和完成工作; 所有已准备好解析为符合预期规则的单独令牌.

  • 或者你可以使用```Environment.GetCommandLineArgs()``` (3认同)