Fork me on GitHub

.net知识和学习方法系列(十一)Main方法的参数与返回值

好多知识,如果我们要多问点为什么,可能就能得到更多,了解更多,今天就看一下Main方法的参数和返回值。
Main方法有一个参数是string[],有一个返回值是int,作用是什么呢?
参数,是一个方法调用别一个方法时传入的变量,Main方法又是一个程序的入口方法,这上参数一定是别的程序调用时传进来的,看这样一个程序:
被调程序代码:
 1using System;
 2using System.Collections.Generic;
 3using System.Text;
 4    class Mains
 5    {
 6        static void Main(string[] args)
 7        {
 8            if (args.Length > 0)
 9            {
10                Console.WriteLine(args[0]);
11                Console.ReadLine();
12            }

13        }

14    }

15
  调用程序:
 1using System;
 2using System.Collections.Generic;
 3using System.Text;
 4using System.Diagnostics; 
 5
 6    class Mains
 7    {
 8        static void Main(string[] args)
 9        {
10            Process.Start(@"F:\b.exe""这是参数");
11        }

12}

13

注意,被调用的程序,编译好后命名成b.exe放在F盘下,这样才能正确调用。
这个参数能很好的在两个程序集之间传输信息,这样对项目的分割提供了可能。
另一方面,可以看一下Main方法的返回值,返回值的类型是int,这个值又给了谁了呢?有的朋友说返回了调用本程的方法,但这个说法不正确,这个返回值返回给一个名称为ERRORLEVEL的环境变量,我们可以用批处理命令来查看这个变量,如下面代码:
先定义一个Main方法:

 1using System;
 2using System.Collections.Generic;
 3using System.Text;
 4using System.Diagnostics; 
 5    class Mains
 6    {
 7        static int Main(string[] args)
 8        {
 9           Console.WriteLine("返回值为114");
10            return 114;
11        }

12}

13
  批处理命令为:
@echo %ERRORLEVEL%
把这个命令用txt文档保存,并把扩展名改成bat
打开“Visual Studio 2005 命令提示”,先运行主程序,后运行批处理命令,你会发现批处理的结果就是Main方法的返回值。
posted @ 2008-04-24 00:08  桂素伟  阅读(1404)  评论(2编辑  收藏  举报