C#入口点功能

San*_*eep 18 c#

是否sta void main()是C#中入口点函数所必需的,或者我们可以使用其他一些函数吗?为什么main()是静态的?

Jon*_*eet 18

是的,它必须是Main.它是静态的,因为否则CLR需要担心创建该类型的实例 - 这意味着你可能必须拥有一个无参数构造函数,即使你不想要一个类型的实例,等等.为什么你想要强制它成为实例方法?

  • @anish,因为它必须是某种东西而Public Static Void Quack()听起来并不好.当那里有一扇门时,为什么还要试穿墙? (11认同)
  • @juleagon:那将是一个合理的选择,我不知道坚持使用众所周知的名称的原因,尽管这确实意味着编写Hello World并不需要理解属性... (2认同)

Chr*_*ken 10

是的ac#应用程序,Main()必须是入口点.

原因是因为语言的设计者决定将其作为程序的入口点.他们也可以使用完全不同的方法来查找入口点,例如使用元数据,或为您实例化对象(这将需要无参数构造函数).命名它的另一个原因void main()是它对于来自其他语言的用户来说是直观的.


Cos*_*lis 6

static void Main()是在 C# 中创建的任何“可执行文件”(.EXE)的必要入口点。库(或 .DLL)可以有其他入口点。

该方法是静态的,因为这是在没有要寻址的对象实例的情况下访问该方法所必需的。为了从应用程序外部调用方法(起点),需要一个静态方法。