C# Main方法的传入参数研究
投稿:junjie
我们在使用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.我们还可以在这里传入:在解决方案的属性--->调试---->命令行参数输入:博客园 高手 大牛 菜菜
例如:
运行结果如下:但是这样只是测试用一下,不怎么方便哦
由于突然要有传入的命令行参数,所以我就测试了这些,如有不对大家指正一下。