加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C#中string[ ] args是什么意思,又有什么用呢

(2012-10-14 09:00:15)
标签:

杂谈

C#中static void Main(string[ ] args) string[ ] args是什么意思,又有什么用呢?
static 表示方法是静态的就是说方法在程序被编译的时候就被分配了内存,使用的时候不用生成某个类型的对象,知道程序退出才释放。
void 表示方法没有返回值,就是方法没有renturn 关键字。
Main 是函数名,当然这个方法是特殊的方法,是Main()就是说是主函数,就是整个程序的入口,程序被编译后从这里开始执行,这也是main方法要是static的原因,因为在啥都没做的时候这个函数就得存在。
string[] args 表示命令行参数是字符串数组,就是说,你在命令行(黑框框)里输入的参数可以使多个字符串(在某种意义上意味着什么都可以是命令行参数)。
运行时会弹出命令窗口,你可以在那里输入一些参数,string[] args 指的就是你在命令窗口输入的参数。args是用来处理命令行参数的。命令行参数,就是你运行这个程序的时候给它传的参数。它是可选项,不是必须的。

///////////////////////////////////////

在C#语言的中,有些在定义主函数的时候直接就是Main(),但是有些确是Main(String[] args),它有什么意义呢?

运行时会弹出命令窗口,你可以在那里输入一些参数,string[] args 指的就是你在命令窗口输入的参数。
也就是命令行参数。

args是用来处理命令行参数的。命令行参数,就是你运行这个程序的时候给它传的参数。它是可选项,不是必须的。

如何向C# Main函数传递参数呢?我们看到C# Main函数带有一个string[] args参数,那么你知道它有什么实际的功能呢?下面我们来具体谈谈:

C#控制台应用程序下,我们常常看到Main函数带有一个string[] args参数,那么你知道它有什么用处?

步骤1:建立一个控制台应用程序,暂且命名为Main.cs

步骤2:贴上下面这段代码。

using System;

class Program{

      static void Main(string[] args){

      int argsLength = args.Length;

      Console.WriteLine("Main函数参数args的长度:" + argsLength.ToString());

      for (int i = 0; i < argsLength; i++)
      {
           Console.Write("第" + i.ToString() + "位是:");

           Console.WriteLine(args[i].ToString());
      }

      }
}

步骤3:编译并运行Main.cs,生成Main.exe文件

步骤4:在命令行模式下输入c:\>Main a b c ,敲回车看结果

输出结果为:

Main函数参数args的长度:3

第0位是:a

第1位是:b

第2位是:c

由于参数个数是未知的,所以允许输入任意多个,也可以不输入。

我们再来看一个例子,代码如下:

using System;
public class Hello{
public static void Main(string[] args){
Console.WriteLine("你共有{0}个朋友",args.Length);
Console.WriteLine("你的朋友列表为:");
for(int i=0;i
   Console.WriteLine("Args[{0}]=[{1}]",i,args[i]);
}
}
}

////////////////////////////////////////

单单站在语言的角度来讲static void Main ()与static void Main (string[] args)的差别仅仅是后者多了一个参数args而已,调用时也需要传递该参数,但是站在c#编写的控制台程序的角度来讲 后者可以在程序启动的时候接受外部的启动参数。例如你编写的程序叫做test.ext在命令行里面启动的时候如下:test.ext arg1 arg2 这样在static void Main (string[] args)运行的时候 命令行的 arg1 arg2  就作为数组 通过Main方法的args参数传递进来了 这样你就可以根据不同的参数值做不同的处理了。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有