c# - 编译时和运行时?

标签 c# asp.net

我怀疑我不知道 C# 中什么是编译时以及什么是运行时。我从多态性(方法重载,方法覆盖)中得到这个词,你能解释一下吗?谢谢

最佳答案

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

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

关于c# - 编译时和运行时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1944725/

相关文章:

javascript - 我如何在 Sitecore Master Layout 中控制 CSSclass

c# - 在 C# 中遍历 windows 文件系统中文件的权限

c# - 如何列出相机可用的视频分辨率

c# - 接口(interface)上的最小起订量通用方法设置

c# - AspNet 核心 web Api ApiControllerAttribute 的使用

asp.net - 如何捕获实体数据源异常

asp.net - 单选按钮检查了 asp.net 中的更改事件

c# - 将类型转换为引用类型

asp.net - 在asp.net中设置图像过期日期

jquery - 让客户端 (Javascript) 处理 HTML 比用 C# 处理 HTML 更好吗?