百科问答小站 logo
百科问答小站 font logo



C#能分配内存连续的引用类型数组吗? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

1、能办到

2、不用struct这个说法很无厘头,虽然即便不用struct也能办到。但是突然冒出一句不用struct很无厘头。

3、我觉得你大概还有大把无厘头的需求,譬如说什么不用unsafe、不用指针、不用fixed等等。但即便所有你能想到的无厘头的需求都列出来还是能办到,因为还有P/Invoke……


当然,说不可能的也有道理,原因就是理论上说引用类型对象只可能在托管堆,因为这货的形态本质上就是个引用,他不像值类型有明确的内存布局。但是这并不妨碍我们把一个引用类型的对象当作值类型放在内存的特定位置,但这样做了之后,显然这个对象不能通过引用访问,要么转换为引用类型(拷贝到托管堆),要么设计一套API直接用指针访问成员(直接拷贝成员到堆栈)。

总之,这是一个非常无厘头的问题……




  

相关话题

  C#是如何做到闪电编译时? 
  Java为什么选择interface来作为"接口"这个功能的关键字? 
  为什么使用virtual关键字在C++与C#会出现不同的效果?求解答。 
  C# 的 return ref 有什么具体应用? 
  有人号称编程零基础学C#4天,用记事本1分钟写个计算器,而且信誓旦旦,这是怎么回事? 
  如何编写能够监听特定程序或全系统所有Http请求的.Net程序? 
  C# 中为什么List<List<T>> 不能转换为 IList<IList<T>> ? 
  C# 事件效率如何? 
  VS2015重构封装字段时出现错误,请问有哪些可能的原因呢? 
  为什么很多人都说使用微软技术的公司是小公司?是不是微软的技术入门简单? 

前一个讨论
为什么JavaScript不能成为自己的标准,非得冒出ES6成为JavaScript的标准呢?
下一个讨论
化学的可逆反应中,反应是一直在进行的。可是从能量守恒的角度看,反应不是应该会损耗能量吗?





© 2025-03-29 - tinynew.org. All Rights Reserved.
© 2025-03-29 - tinynew.org. 保留所有权利