我不明白术语“编译时”和“运行时”(或“运行时”)的含义。
我对“值类型”和“引用类型”的含义以及它们与上述“时间”的关系也有些困惑。
有人可以解释一下这些事情吗?
“编译时间”是您构建代码的时间——编译器将您的源代码转换为 IL 的时间。
“运行时”是执行代码的时间 - 对于 ASP.NET,是在发出页面请求时。 (我个人更喜欢术语“执行时间”来区分它和“公共语言运行时(CLR)”——也就是虚拟机。)
值类型和引用类型是一个完全不同的概念,但我有一篇关于它们的文章,您可能会觉得有用。
值类型变量是指可以直接存储自身值的变量。
引用类型变量是指存储其值的引用(即值的地址)而不是直接存储值的变量。
关于您的第一个问题,请参阅Stack Overflow:运行时与编译时。
关于您的第二个问题,请参阅Stack Overflow:C#中值类型和引用类型之间的区别。
至于它们之间的关系:它们是独立的概念。 设置变量的值和读取它的值发生在运行时;该变量是否具有值类型或引用类型。
编译时是将源代码转换为可执行代码的时间,而运行时是可执行代码开始运行的时间。有关详细信息,请查看以下链接:https://www.javatpoint.com/compile-time-vs-runtime