C# Main方法的传入参数研究


我们在使用Main()方法的时候有没有注意过入口参数args的传入传出的值是什么呢?或许这个问题小的都没人注意。

刚刚使用IO命名空间下的,Enveriment.Environment.GetCommandLineArgs();获取观察了一下,就会发现,这里的args参数我们是可以自己修改,也可以由程序返回,同时也可以执行前使用cmd方式传入,也可以固定的方式输入,方法很多,我是菜鸟刚学也就发现了这么一点点,博客园的高手们就是好啊,对我这样的超级大菜鸟还是很包容的,有问题大家就帮帮我,目前主攻文学,哲学,神学,但是遇到程序的问题周围没人学这个,只能一个人解决,问题很多啊,大家可以给我指导一下。好了,说下我的发现:

1.args参数默认的返回程序的绝对路径,这里就有args.length=1;举个例句:

复制代码 代码如下:

using System;

namespace M
{
    class Demo
    {
        public static void Main(string[] args)
        {
            args = Environment.GetCommandLineArgs();
            Console.WriteLine(args[0]);
            Console.ReadKey();
           
            Console.ReadKey();
        }
    }

}
//输出:G:\test.exe  这样的,这里只是形式举例


2.我们可以手动的设置参数,例如:

复制代码 代码如下:

using System;

namespace Demo
{
    class Test
    {
        public static void Main(string[] args)
        {
          args=new string[3]{"small_ japanese","Cang_teacher","Bitch"};
            foreach (string s in args)
            {
                Console.WriteLine(s);
            }
            if (args.Length == 0)
            {
                Console.WriteLine("Hello,World!");
            }
            else
            {
                for (int i = 0; i < args.Length; ++i)
                {
                    Console.WriteLine("Cao {0}!", args[i]);
                }
            }
           
            Console.ReadKey();
        }
    }

}

输出如下:

3.是我们手动打开运行-->cmd --->转到程序所在的路径(当然你可以直接拉入) +Test(类名)+传入的命令行参数

我们继续使用上面的例子但是将args=new string[3]{"small_ japanese","Cang_teacher","Bitch"}; 这一行注释掉

现在按3的方法操作运行如下:

4.我们还可以在这里传入:在解决方案的属性--->调试---->命令行参数输入:博客园 高手 大牛 菜菜

例如:

运行结果如下:但是这样只是测试用一下,不怎么方便哦

由于突然要有传入的命令行参数,所以我就测试了这些,如有不对大家指正一下。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3