手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#难点逐个击破(4):main函数
C#难点逐个击破(4):main函数
摘要:还记得读大学时初识计算机编程时的C语言,Main(){},那时还不明白入口函数是什么意思,只知道照抄书本上的示例,一行一行地跑printf看...

还记得读大学时初识计算机编程时的C语言,Main(){},那时还不明白入口函数是什么意思,只知道照抄书本上的示例,一行一行地跑printf看。

在C#中Main()属于主入口函数,我们知识C、C#属于编译语言,可以想象为一段程序最开始的头部部分,由Main()函数进入逐语句进行编译后执行。假如html页面也称作编程语言的话,那么它就属于从上到下一句一句(下载)执行;js也是由上到下执行,不过js相当诡异,变量作用域要特别对待;在asp.net中一般情况下是以Page_Load(object sender,EventArgs e)可以认为是主入口。

Main()中的string[] args参数

Main()函数必须使用static修饰,也就是说它必须是静态的,不可实例化——可以实例化的话程序就完蛋了(多线程!?)。默认的Main()函数是带形式参数的,形如static void Main(string[] args),这里面一个很至关重要的问题就是:很多人都认为其中的参数仅当程序涉及要求用户输入参数值才必须带上。这就大错特错了,我之前也是这么理解的,直接今天我在写这篇文章时查询资料时才知道。请参考下面的代码

复制代码 代码如下:

using System;

/******************************

* Chapter:C#难点逐个击破(四)

* Author:王洪剑

* Date:2010-1-15

* Blog:http://www.51obj.cn/

* Email:walkingp@126.com

* Description:容易出错的Main参数理解

* ***************************/

namespace TestMain

{

class Program

{

static void Main()//此处没有加string[] args

{

Console.WriteLine("请输入您的姓:");

String firstName = Console.ReadLine();

Console.WriteLine("请输入您的名:");

String lastName = Console.ReadLine();

Console.WriteLine("您的姓名是:{0}{1}", firstName, lastName);

}

}

}

C#难点逐个击破(4):main函数1

其次就是参数的类型只能是string[],否则就会编译错误

C#难点逐个击破(4):main函数2

那么该参数是起什么作用的呢?举个例子你就知道了,notepad c:boot.ini,或者IEXPLORER.exe http://www.g.cn,没错,里面的参数就是用来编译exe要加入的参数,比如我们可以加一个参数min或者hide,然后加入相应的代码就可以实现程序运行时最小化运行或者隐藏运行。

Main()函数的返回值

Main()默认无返回类似,除此之外,还可以返回int,并且仅能返回int,这种返回int的使用情况并不多,在msdn描述到了使用批处理bat调用程序执行的返回结果,根据结果来判断程序是否顺利执行。返回类型在控制台中并不显示"

本节源码下载

【C#难点逐个击破(4):main函数】相关文章:

C#中让控件全屏显示的实现代码(WinForm)

C#中英文混合字符串截取函数

C#难点逐个击破(5):类的访问类型

基于switch你可能不知道的一些用法

C#的编码规范详细说明

Win Form 的 Splitter 使用心得与技巧

用C#编写ActiveX控件(二)

C#中时间的几种格式转换方法

C#难点逐个击破(6):C#数据类型与.net framework数据类型

C#编写Windows服务实例代码

精品推荐
分类导航