程序运行时,开启一个进程,调用一个线程 ,如果是控制台程序
1.什么时候调用main()
2.在main()中的字段,方法,其他类的实例,是不是字段存在栈上,类的实例引用在栈上,实际数据保存在堆上,初始化实例时候先自动初始化他的字段,然后在调用实例的方法的时候,再把方法的变量和参数放入堆中。
3.进程和线程的栈堆关系
最好能有一个小程序,按照运行顺序,将一下代码运行时进程,线程,栈,堆,字段,方法,类的实例的各阶段的状态和关系。
main() 只能有一个 ,静态的,程序的入口!! 。。。。。建议复习一下操作系统概论,计算机原理之类的书
程序启动的时候就会调用main函数,而且这个函数必须是唯一的静态函数,可以有参数,参数却只能是两个:int argc, string[] args,分别表示参数的个数和参数的集合。
没有main函数的运行,你的一切行为都是浮云。
至于你提到的什么栈、堆等,建议你阅读书籍《CLR VIA C#》。在PPURL(http://www.ppurl.com)里有下载,也可以购买一本实体书。