• C#中Main函数为什么要static


    假设没有static关键字,那意味着需要用生成一个实例后才可以调用这个Main方法,而Main方法是程序入口点,你没有进入Main方法,自然无法生成一个实例,既然没有实例,那就无法调用Main函数,岂不矛盾?所以Main函数被设置为static.

    Main()函数在C#里非常特殊,它是编译器规定的所有可执行程序的入口点。由于其特殊性,对Main()函数我们有以下几条准则:

    1)Main()函数必须封装在类或结构里来提供可执行程序的入口点。C#采用了完全的面向对象的编程方式,C#中不可以有像C++那样的全局函数。

    2)Main()函数必须为静态函数(static)。这允许C#不必创建实例对象即可运行程序。

    3)Main()函数保护级别没有特殊要求, public,protected,private等都可,但一般我们都指定其为public。

    4)Main()函数名的第一个字母要大写,否则将不具有入口点的语义。C#是大小写敏感的语言。

    5)Main()函数的参数只有两种参数形式:无参数和string 数组表示的命令行参数,即static void Main()或static void Main(string[]args) ,后者接受命令行参数。一个C#程序中只能有一个Main()函数入口点。其他形式的参数不具有入口点语义,C#不推荐通过其他参数形式重载Main()函数,这会引起编译警告。

    6)Main()函数返回值只能为void(无类型)或int(整数类型)。其他形式的返回值不具有入口点语义。

    在C#中,static变量表示该变量属于类,而不是类的实例。"static"修饰符声明一个静态元素,而该元素属于类型本身而不是指定的对象,可以说是该类的所有实例共享一个static变量。

  • 相关阅读:
    Auto-Test 要点纪录(一)
    终端应用变身文件 MD5/SHA1 校验工具
    MD5 algorithm in Objective C
    iphone开发-SQLite数据库使用
    【React】354- 一文吃透 React 事件机制原理
    【Web技术】353- CDN 科普
    【CSS】352- 有趣的CSS弹跳动画
    【Vuejs】351- 带你解析vue2.0的diff算法
    【每周小回顾】7- 一起回顾上周精彩内容
    【Vuejs】350- 学习 Vue 源码的必要知识储备
  • 原文地址:https://www.cnblogs.com/haxianhe/p/9271186.html
Copyright © 2020-2023  润新知