在Main(string [] args)中传递filepath不能使用空格

时间:2017-02-27 17:33:16

标签: c# winforms arguments main

我正在尝试从Main(string [] args)获取带有args [0]的文件路径

framework:

    { .. Other configurations ..}

    session:
        handler_id:  null
        save_path:   null

    { .. More configurations ..}

我有太空角色的问题。例如,路径是:

static void Main(string[] args)
    {                        
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        if (args.Length == 0)
        {
            Application.Run(new RadForm1());
        }
        else
        {                
            Application.Run(new RadForm1(args[0]));
        }
    }

但是args [0]是:

C:\Program Files\bt\Myfile.wasp

如何解决此问题?请帮助我。

2 个答案:

答案 0 :(得分:0)

嗯,答案已经在评论中提到了,只需用参数包装你的参数。

如果您将C:\Program Files\bt\Myfile.wasp传递给您的程序,Windows会将此解释为两个独立的参数,您会得到两个参数:

args[0] = "C:\Program"
args[1] = "Files\bt\Myfile.wasp"

因此,为了将其作为args[0]中的一个参数,您需要将其作为一个参数传递。执行此操作的方法是将其包装在这样的引号中:"C:\Program Files\bt\Myfile.wasp"

答案 1 :(得分:0)

这对我有用:

string s="";
int i = 0;
foreach (var arg in args)
  {
    if(i != 0)
     {
      s = s + " " + arg;
     }
    i++;                     
  }
args[0] = args[0] + s;