【发布时间】:2015-09-30 10:51:48
【问题描述】:
我有 KeyValuePair<DateTime,decimal> 的大数组。我知道在内存中数组是连续的,因为 KVP 是一种值类型,DateTime 实际上是一个 Int64,而十进制是一个 4 个整数的数组(并且不会改变)。但是,DateTime 不是 blittable,decimal 不是原始的。
是否有任何方法来滥用类型系统并获取指向数组的不安全指针并将其作为字节处理? (GCHandle.Alloc 不能与这两种类型一起使用,因为它们是结构的一部分,但可以与这些类型的数组一起使用。)
(如果您对为什么感兴趣,我现在手动将数组转换为我认为是 1 对 1 字节 [] 表示,而且速度很慢)
【问题讨论】: