11

我不明白术语“编译时”和“运行时”(或“运行时”)是什么意思。

我对“值类型”和“引用类型”的含义以及它们与上述时间的关系也有些困惑。

有人可以解释这些事情吗?

4

4 回答 4

23

“编译时间”是您构建代码的时间——编译器将您的源代码转换为 IL 的时间。

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

值类型和引用类型是一个完全独立的概念,但我有一篇关于它们的文章,您可能会发现它很有用。

于 2009-10-05T10:27:47.967 回答
5

值类型的变量存储数据,而引用类型的变量存储对数据的引用。

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

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

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

于 2009-10-05T10:27:59.337 回答
1

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

于 2013-05-16T06:34:48.533 回答
0

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

至于您的第二个问题,请参阅Stack Overflow:C# 中值类型和引用类型之间的区别是什么

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

于 2010-05-22T17:19:13.053 回答