编译时间和运行时间?

问题描述:

我怀疑我不知道什么是编译时间,什么是C#中的运行时。我从多态性(方法重载,方法重写)得到这个词可以解释我。谢谢编译时间和运行时间?

+2

我猜Google会更好些。 – Rites 2009-12-22 07:35:20

方法重载是在编译时决定的。这意味着编译器知道在调用重载方法时将执行哪些代码。它可以直接调用代码,而无需添加代码运行时必须执行的任何检查。

方法重写在运行时确定。当你调用一个虚拟方法时,调用的实际方法是根据对象的实际类型确定的,并且在调用完成时必须执行此检查。由于引用可能引用不同类型的对象,因此编译器无法从引用类型确定将调用哪个方法,因此它必须添加代码以查找从哪个类获取方法。

被当命令是由计算机,即在“运行时”服从产生的内部操作一下。编译时间是指由编译器执行的操作(“编译时操作”),源代码必须满足的编程语言要求,以使其成功编译(“编译时要求”) ,或者在编译时可以推理的程序属性。

价: - http://www.cs.bham.ac.uk/research/projects/poplog/primer/node35.html http://en.wikipedia.org/wiki/Compile_time

当您在VS IDE中按F6时,您正在编译。所消耗的时间是编译时间。

当您在VS IDE中按F5或Ctrl + F5时,您正在运行。所消耗的时间是运行时间。

+0

为了说明,当你点击F5或Ctrl + F5时,首先会发生什么(默认情况下是),如果没有编译,编译程序,然后实际运行程序。 – apollodude217 2010-07-07 22:29:50