如题,有同事说因为结构体是值类型,所以 new出来的也是分配在栈上的.我的直觉是但凡使用new的东西都在堆上分配内存,除非C#对结构体做了特殊处理. new int[10]这个说明不了什么,因为数组是引用类型,必然在堆上分配. 如何验证? 利用UNITY的profiler来观察内存变化 :new 一个内存占用很大的结构体,比如80M,看GC ALLOC 突现了80M,说明确实是在堆上分配的.然后GC掉,多次重复现象相同. static void funcformemheaporstack() {…