【发布时间】:2014-07-03 12:37:01
【问题描述】:
使用 Buffer.BlockCopy() 很容易将原始类型转换为字节。
但是如果我有一个 DateTime 数组,我应该使用哪个函数将 DateTime[] 转换为 byte[]?
如果我有一个恒定大小的 struct(这意味着我可以使用 Marshal 将 struct 转换为 byte[]),我应该使用哪种方式将 T[](struct array) 转换为 byte[]?
【问题讨论】:
-
您想要原始内存数据吗?还是您想要一些特定的布局/格式?
-
这里不能使用
Marshal,因为Marshal.SizeOf(typeof(DateTime))不起作用;再次:您想要的预期输出是什么? -
是的,你是对的。我获取 DateTime 大小的方法是链接:alexpinsker.blogspot.cz/2011/10/… 我想将 DateTime[] 发送到网络,所以我应该先将其转换为 byte[]
-
我想找到一种类似 Buffer.BlockCopy 的方法来简单快速地将 DateTime[] 转换为 byte[]。
标签: c# arrays struct marshalling