C#.结构方法代码保存在内存中的位置?

11 c# struct class-design

有些人知道.NET在内存中保存值类型(主要是在堆栈中,但在某些情况下可能在堆中等)......

我的问题是 - 结构的代码在哪里?

如果我在结构中说16字节的数据字段并且在其中有一个大量的计算方法 - 我假设16个字节将被复制到堆栈中,方法代码存储在其他地方并且为结构的所有实例共享.

这些假设是否正确?

Pau*_*der 5

MSIL存储在程序集的代码部分中 - Windows在首次加载程序集时映射到内存中.首次执行该方法时,JIT会将MSIL编译为x86/x64代码.一旦将方法编译到内存中,它通常会保留在那里并由所有线程共享.在某些情况下,多个AppDomain将导致MSIL第二次编译,但这种情况很少见.