.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 桂素伟 阅读(122) 评论(2)  编辑 收藏

  回复  引用    
#1楼 2008-04-30 02:19 | 曲家林 [未注册用户]
用了这么久的Main方法,它是程序的入口点,刚才在试验过程中,发现Main方法必须得为静态的才可以去调用别的类的方法,或者是本类中的方法,这是怎么回事?
  回复  引用    
#2楼 2008-04-30 20:50 | 老桂 [未注册用户]
这是IDE要求的

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-06-29 16:10 编辑过
 
历史上的今天: