“编译时间”和“运行时间”有什么区别?

时间:2009-10-05 10:25:32

标签: .net definition

我不明白术语“编译时间”和“运行时间”(或“运行时”)的含义。

我对“价值类型”和“参考类型”的含义以及它们与上述时间的关系有点混淆。

请有人解释这些事情吗?

4 个答案:

答案 0 :(得分:22)

“编译时间”是指构建代码时 - 编译器将源代码转换为IL。

“运行时”是代码执行的时候 - 对于ASP.NET,当发出页面请求时。 (我个人更喜欢术语“执行时间”来区分它和“公共语言运行时(CLR)” - 也就是虚拟机。)

值类型和引用类型是一个完全独立的概念,但我对它们有an article您可能会觉得有用。

答案 1 :(得分:5)

  

作为值类型的变量,   存储数据,而变量a   引用类型存储引用   数据。

在计算机科学中, compile time 指的是编译器执行的操作(“编译时操作”),源代码必须满足的编程语言要求要成功编译(“编译时要求”),或者在编译时可以推理的程序属性。

在编译时执行的操作通常包括语法分析,各种语义分析(例如,模板的类型检查和实例化)和代码生成。

在计算机科学中,限定符 run time ,运行时,运行时或执行时间是指计算机程序在计算机中实际执行(“运行”)时的时间段,从开始到终止。它也可能意味着程序的运行时间,即该时间段的持续时间。

答案 2 :(得分:1)

值类型变量是指可以直接存储自己的值的变量 引用类型变量表示存储其值的引用(即值的地址)而不是直接存储值的变量。

答案 3 :(得分:0)

关于您的第一个问题,请参阅Stack Overflow: Runtime vs Compile time

关于您的第二个问题,请参阅Stack Overflow: What are the differences between value types and reference types in C#

关于它们如何相关:它们是独立的概念。 设置变量的值并读取其值在运行时发生;该变量是否具有值类型或引用类型。