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

简介:
    近期开始接触到在校学生、高校实习生和毕业生,在此说一下笔者对这些徘徊在职场门口的学生一些建议,希望能给这些初学者进入软件开发行业带来一些帮助,使得毕业生能更顺利的进入软件开发公司开始职场生涯,人生来一个完美的转弯。
----------------------------------------------------------------
Main函数
    C#中的Windows应用程序和命令行程序编译后的结果是EXE文件,而EXE文件是需要定义启动程序的入口点。这个入口点在C#中就是main函数,这点和C语言很类似。
在“第一个Windows应用程序”的C#工程中一开始就包含了一个“Program.cs”的源代码文件,该文件内容如下。[袁永福版权所有]
 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Windows.Forms;  
  4.    
  5. namespace第一个Windows应用程序  
  6. {  
  7.     staticclassProgram  
  8.     {  
  9.         /// <summary>  
  10.         /// 应用程序的主入口点。  
  11.         /// </summary>  
  12.         [STAThread]  
  13.         staticvoid Main()  
  14.         {  
  15.             Application.EnableVisualStyles( );  
  16.             Application.SetCompatibleTextRenderingDefault(false);  
  17.             Application.Run(newForm1( ));  
  18.         }  
  19.     }  
  20. }  
    这个文件中就定义了 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(newForm1 ( ))”是创建一个窗体对象并运行该窗体。这个函数是同步的,只要窗体没有关闭,该函数就不会返回,当窗体关闭了,该函数返回,然后 Main函数后面就没有代码了,于是程序退出。[袁永福版权所有]



     本文转自xdesigner 51CTO博客,原文链接:http://blog.51cto.com/xdesigner/646088,如需转载请自行联系原作者




相关文章
|
3月前
|
JavaScript Java 项目管理
基于Java的大学生创新创业项目管理系统设计与实现(亮点:完整严谨的创新创业申请流程、适用于任何要求严格的审批类毕业设计)
基于Java的大学生创新创业项目管理系统设计与实现(亮点:完整严谨的创新创业申请流程、适用于任何要求严格的审批类毕业设计)
97 0
|
6月前
|
缓存 NoSQL Java
提升职场竞争力,掌握高级开发面试知识!
提升职场竞争力,掌握高级开发面试知识!
《接手一个6年的平台型系统:我是如何带领团队破局前行的》电子版地址
接手一个6年的平台型系统:我是如何带领团队破局前行的
57 0
《接手一个6年的平台型系统:我是如何带领团队破局前行的》电子版地址
|
人工智能 自然语言处理 程序员
DayDayUp:我是CSDN开发者生态联盟成员“一个处女座的程序猿”:渡己是一种能力,渡人是一种格局
DayDayUp:我是CSDN开发者生态联盟成员“一个处女座的程序猿”:渡己是一种能力,渡人是一种格局
DayDayUp:我是CSDN开发者生态联盟成员“一个处女座的程序猿”:渡己是一种能力,渡人是一种格局
|
Android开发 开发者 UED
创业开发团队的9个误区
如今的创业公司面临的最大问题就是服务交付的速度,创业公司的开发者也与创业团队的其他成员一样,整天忙于救火,因此往往搞错重点和优先级,并最终为公司带来大麻烦。
234 0
创业开发团队的9个误区
|
达摩院 信息无障碍
技术有温,代码有爱——1024技术公益信息无障碍
技术有温,代码有爱。每一天,来自阿里淘系、优酷、支付宝、达摩院等技术人都在努力着,为全国1700多万的视障人群铺设互联网上的“盲道”,让他们生活和工作更便利更愉快。 在国际残疾人日之际,我们特别推出了“1024技术公益信息无障碍专题”,向大家介绍阿里技术人公益背后的故事,也期盼技术公益的星光可以点燃更多阿里人对社会的大爱,我们用技术人特有的1024度热情为社会更美好贡献力量。
技术有温,代码有爱——1024技术公益信息无障碍
|
数据库
论程序的成长—— 你写的代码有生命力吗?
做了五年多的程序员了,回过头来看了看以前发的一些帖子,颇有一番感想。我最得意的就是对数据访问的处理方法(我的数据访问层),倒不是说他有多么的强大、多么的完善,而是说他本身是在不断地“成长”,一直都没有死掉。
676 0

相关实验场景

更多