[毕业生的商业软件开发之路]C#中的Main函数

近期开始接触到在校学生、高校实习生和毕业生,在此说一下笔者对这些徘徊在职场门口的学生一些建议,希望能给这些初学者进入软件开发行业带来一些帮助,使得毕业生能更顺利的进入软件开发公司开始职场生涯,人生来一个完美的转弯。[袁永福版权所有]
--------------------------------------

Main函数

C#中的Windows应用程序和命令行程序编译后的结果是EXE文件,而EXE文件是需要定义启动程序的入口点。这个入口点在C#中就是main函数,这点和C语言很类似。

在“第一个Windows应用程序”的C#工程中一开始就包含了一个“Program.cs”的源代码文件,该文件内容如下。

 

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace 第一个Windows应用程序
{
    
static class Program
    {
        
/// <summary>
        
/// 应用程序的主入口点。
        
/// </summary>
        [STAThread]
        
static void Main()
        {
            Application.EnableVisualStyles( );
            Application.SetCompatibleTextRenderingDefault(
false);
            Application.Run(
new Form1( ));
        }
    }
}

 

这个文件中就定义了Main函数,一个C#的Windows应用程序或者命令行程序中有而且只有一个Main函数。

在Main函数前面的代码“[STAThread]”通知了编译器该函数是采用单线程模式的。

在此处Main函数没有定义参数和返回值,实际上Main函数可以定义个int类型的返回值,还可以定义一个字符串数组类型的参数,如“int Main( string[ ] args )”,这样可以获得命令行参数了,一般情况下具有图形用户界面的Windows应用程序不需要支持命令行参数,但命令行应用程序比较依赖命令行参数来调用功能。[袁永福版权所有]

除了在Main函数中获得命令行参数,开发者可以在任何地方使用类型System.Environment的CommandLine静态属性获得启动程序使用的命令行文本,也可以使用该类型的GetCommandLineArgs静态方法获得启动程序使用的命令行参数。

命令行文本是一个字符串,例如在Windows命令行界面中使用命令“c:\my.exe  *.jpg \a \s”, Environment类型的CommandLine属性值为“c:\my.exe  *.jpg \a \s”,而它的GetCommandLineArgs方法返回一个有4个元素的字符串数组,数组值为“c:\my.exe”、“*.jpg”、“\a”、“\s”。[袁永福版权所有]

Main函数中的代码“Application.EnableVisualStyles( )”是让整个应用程序启动了XP样式。

当Windows应用程序启动XP样式时,用户界面显示如下图。

若没有启动XP样式时,用户界面显示如下图。

Main函数中的代码“Application.Run(new Form1( ))”是创建一个窗体对象并运行该窗体。这个函数是同步的,只要窗体没有关闭,该函数就不会返回,当窗体关闭了,该函数返回,然后Main函数后面就没有代码了,于是程序退出。[袁永福版权所有]

 

posted on 2011-08-22 13:47  袁永福 电子病历,医疗信息化  阅读(1306)  评论(0编辑  收藏  举报

导航