相关疑难解决方法(0)

在C#中解析命令行参数的最佳方法?

构建带参数的控制台应用程序时,可以使用传递给的参数Main(string[] args).

在过去,我只是索引/循环该数组并完成一些正则表达式来提取值.但是,当命令变得更复杂时,解析会非常难看.

所以我对以下内容感兴趣:

  • 您使用的库
  • 您使用的模式

假设命令始终遵循通用标准,例如此处的答案.

.net c# command-line-arguments

733
推荐指数
8
解决办法
49万
查看次数

在C#中传递命令行参数

我正在尝试将命令行参数传递给C#应用程序,但我有问题传递这样的东西

"C:\Documents and Settings\All Users\Start Menu\Programs\App name"
Run Code Online (Sandbox Code Playgroud)

即使我加入" "了这个论点.

这是我的代码:

    public ObjectModel(String[] args)
    {
        if (args.Length == 0) return; //no command line arg.
        //System.Windows.Forms.MessageBox.Show(args.Length.ToString());
        //System.Windows.Forms.MessageBox.Show(args[0]);
        //System.Windows.Forms.MessageBox.Show(args[1]);
        //System.Windows.Forms.MessageBox.Show(args[2]);
        //System.Windows.Forms.MessageBox.Show(args[3]);
        if (args.Length == 3)
        {
            try
            {
                RemoveInstalledFolder(args[0]);
                RemoveUserAccount(args[1]);
                RemoveShortCutFolder(args[2]);
                RemoveRegistryEntry();
            }
            catch (Exception e)
            {
            }
        }
        }
Run Code Online (Sandbox Code Playgroud)

这就是我要传递的内容:

C:\WINDOWS\Uninstaller.exe  "C:\Program Files\Application name\"  "username"  "C:\Documents and Settings\All Users\Start Menu\Programs\application name"
Run Code Online (Sandbox Code Playgroud)

问题是我可以正确地获得第一个和第二个args,但是它得到的最后一个args C:\Documents.

有帮助吗?

c# command-line-arguments

18
推荐指数
2
解决办法
7万
查看次数

标签 统计

c# ×2

command-line-arguments ×2

.net ×1