我们可以将var和dynamic分配给任何数据类型,那么它们存储在内存中的哪里呢?var 在编译时解析,我的理解是 var 根据赋值存储在堆或堆栈中。但是动态是在运行时解析的,所以在此之前它们存储在哪里?
var只是变量声明的语法糖。var str = "abc";和 之间没有功能差异string str = "abc";,因此它是否位于堆栈或堆上取决于您正在使用的类型。
https://msdn.microsoft.com/en-us/library/dd264741.aspx
dynamic在底层合并了一堆东西,但最终的处理方式与 类似object,因此它将是一个将其放在堆上的引用类型。
https://msdn.microsoft.com/en-us/library/bb383973.aspx
| 归档时间: |
|
| 查看次数: |
2875 次 |
| 最近记录: |