问题描述
工具是VisualStudio2010,用C#写控制台应用程序,新建项目后program.cs代码文件中的Main函数是静态,为什么是静态的呀!希望得到大家的帮助。
解决方案
解决方案二:
静态方法和非静态方法有什么区别?不用静态方法的话,用实例化方法,被实例化对象是什么呢?
解决方案三:
如果它是成员函数,那么谁来负责创建实例呢?
解决方案四:
我知道的是静态方法中的属性和方法可通过其类名被其他类访问,而非静态类必需利用其实例来访问其属性和方法。要是不用静态的话,用实例方法,还真是不知道实例化什么,所以就要用静态的?
解决方案五:
引用2楼gomoku的回复:
如果它是成员函数,那么谁来负责创建实例呢?
这个问句很好!!
解决方案六:
引用2楼gomoku的回复:
如果它是成员函数,那么谁来负责创建实例呢?
还真是不太明白,以前没注意这个问题,我基础现在不扎实
解决方案七:
引用5楼love_hbb的回复:
引用2楼gomoku的回复:如果它是成员函数,那么谁来负责创建实例呢?还真是不太明白,以前没注意这个问题,我基础现在不扎实
如果不是静态的,那么就要手动创建对象,之后调用Main方法。像这样:Programp=newProgram();p.Main();可是这些不需要你每次运行程序的时候都做一次,static的话,直接就调用,运行了。
解决方案八:
引用2楼gomoku的回复:
如果它是成员函数,那么谁来负责创建实例呢?
解决方案九:
噢,这个明白了,就是不用再newProgram了,反正这个类中就这么一个主函数,所以就用静态方法可以啦!对吗?
解决方案十:
反正这个类中就这么一个主函数,所以就用静态方法可以啦!对吗?————————————————————————————一个项目有一个主函数,这个函数是程序的入口,如果他不是静态的话,那么就得需要有人去实例化一个对象,之后才能调用这个函数,这个条件就限定了Main的属性必须是static的!
解决方案十一:
呵呵。必须有个带路的先走。
解决方案十二:
可以按上面的兄弟的理解,但是这个说白了就是微乳和其它编程语言的一个规范,静态好理解,但为什么它是入口了,这就需要约定了。
解决方案十三:
噢噢谢谢各位的帮助啊
解决方案十四:
跟随类,不需要实例化对象。
解决方案十五:
引用11楼tsapi的回复:
可以按上面的兄弟的理解,但是这个说白了就是微乳和其它编程语言的一个规范,静态好理解,但为什么它是入口了,这就需要约定了。
Whatis微乳?
解决方案:
应该说的是微软吧
解决方案:
静态只要用类名就可以调用了,非静态还要实例化,比较麻烦
解决方案:
引用14楼remember_me的回复:
引用11楼tsapi的回复:可以按上面的兄弟的理解,但是这个说白了就是微乳和其它编程语言的一个规范,静态好理解,但为什么它是入口了,这就需要约定了。Whatis微乳?
就是胸小的意思
解决方案:
只有声明为静态的,在编译的时候,编译器才能把他编译到exe文件中,在执行的过程中,操作系统在exe文件中才能找到执行的入口,要不然,你说从哪开始执行呢??
解决方案:
引用6楼kingdom_0的回复:
引用5楼love_hbb的回复:引用2楼gomoku的回复:如果它是成员函数,那么谁来负责创建实例呢?还真是不太明白,以前没注意这个问题,我基础现在不扎实如果不是静态的,那么就要手动创建对象,之后调用Main方法。像这样:Programp=newProgram();p.Main();可是这些不需要你每次运行程序的时候都做一次,stat……
这样是不行的,在C#里Main()函数也是在一个类中,想p.Main()这样调用,将这代码写在其他类里根本没法编译通过,写在本类里面会栈溢出。另外,所有的程序都是从Main()开始的,在这之前根本不可能实例化那个Program,也就更不可能利用其对象去调用Main()函数了
解决方案:
因为它要保持时时刻刻都在~
解决方案:
胸小是贫乳吧????
解决方案:
引用17楼karascanvas的回复:
引用14楼remember_me的回复:引用11楼tsapi的回复:可以按上面的兄弟的理解,但是这个说白了就是微乳和其它编程语言的一个规范,静态好理解,但为什么它是入口了,这就需要约定了。Whatis微乳?就是胸小的意思
GoodIdea.
解决方案:
不需要实例化一个对象的执行入口点函数
解决方案:
学习了
解决方案:
Main函数是控制台的入口函数,因此使用静态函数
解决方案:
帮顶了!