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

时间:2021-06-18 17:47:43 

还记得读大学时初识计算机编程时的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函数

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

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

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

Main()函数的返回值

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

标签:C#,main函数
0
投稿

猜你喜欢

  • IOS 实现摇一摇的操作

    2023-07-02 13:46:53
  • Java的JNI快速入门教程(推荐)

    2022-11-22 16:10:48
  • 详解C#正则表达式Regex常用匹配

    2022-07-08 08:04:45
  • 使用SpringBoot跨系统调用接口的方案

    2022-10-14 21:35:18
  • Java深入理解代码块的使用细节

    2023-06-13 04:45:59
  • C# byte转为有符号整数实例

    2022-01-02 13:28:01
  • android中ListView数据刷新时的同步方法

    2022-02-01 16:34:45
  • Java中static静态变量的初始化完全解析

    2023-11-27 21:03:39
  • Unity游戏之存储数据

    2022-06-06 20:58:28
  • 如何使用SpEL表达式实现动态分表查询

    2022-01-05 03:09:55
  • Android EditText限制输入字符类型的方法总结

    2023-10-11 15:48:19
  • Android ListView组件详解及示例代码

    2022-04-27 07:12:08
  • C#实现图片上传(PC端和APP)保存及 跨域上传说明

    2022-11-10 17:05:11
  • springboot使用事物注解方式代码实例

    2022-07-09 00:13:21
  • java的main方法中调用spring的service方式

    2023-03-29 00:12:16
  • 如何使用正则表达式判断邮箱(以C#为例)

    2022-12-09 21:38:30
  • centos7下安装java及环境变量配置技巧

    2022-06-05 08:06:13
  • spring mvc 组合mybatis框架实例详解

    2023-11-28 04:56:04
  • java中使用数组进行模拟加密的方法

    2023-11-18 15:37:39
  • C#判断ip地址是否可以ping的通

    2021-08-29 10:53:13
  • asp之家 软件编程 m.aspxhome.com