传递到应用程序中的命令行参数解决思路

传递到应用程序中的命令行参数


// Hello3.cs
// arguments: A B C D
using System;

public class Hello3
{
   public static void Main(string[] args)
   {
      Console.WriteLine("Hello, World!");
      Console.WriteLine("You entered the following {0} command line arguments:",
         args.Length );
      for (int i=0; i < args.Length; i++)
      {
         Console.WriteLine("{0}", args[i]); 
      }
   }
}


arguments  的值是怎么传进去的?  




------解决方案--------------------
程序启动的时候,如程序A启动B,A可以给B传参(Main中的东东)
------解决方案--------------------
是在命令行输入的。比如你的程序叫MyProgram.exe
那在命令行输入 MyPrograam  p1, p2, p3
args里面就是p1,p2,p3
如果是在vs里调试,你可以右击项目,属性,调试,启动选项里输入参数
------解决方案--------------------
你在这个main的exe程序同目录 建一个
xxx.bat文件
里面写上
xxx.exe(你的程序exe) 这里随便写 可以加上空格 随便加一些东西 
然后运行这个bat文件
------解决方案--------------------
是操作系统传递给Main方法的,argv[0]为自身运行目录路径和程序名。比如你的Main函数需要额外的参数,还可以自己添加参数分别存放在argv[1]、argv[2].......在Main函数中再使用argv[1]、argv[2]...
------解决方案--------------------
先编译 
编译完成后进到bin目录
右键新建文本文档 更名为1.bat 
里面写
你项目的名称.exe a=1 b=2 c=3
然后 保存 运行1.bat 就可以看到效果了
------解决方案--------------------
传值启动嘛。
如果启动他的程序也是C#的,那应该是:
System.Diagnostics.Process.Start(path, arguments)
// path = Hello3的路径 ; arguments = “ABCD”。