我不明白术语“编译时间”和“运行时间”(或“运行时”)的含义。
我对“价值类型”和“参考类型”的含义以及它们与上述时间的关系有点混淆。
请有人解释这些事情吗?
答案 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#。
关于它们如何相关:它们是独立的概念。 设置变量的值并读取其值在运行时发生;该变量是否具有值类型或引用类型。