C#是否可以让不同类型的数组指向同一块内存

就是说,我有一个存放临时公共数据的byte[]大数组在多线程中调用因此无法即时释放,同时有一个ulong大数组要申请内存但没有足够的连续地址。
但它们两个的字节大小完全相同。
请问是否可以使用不安全上下文代码块进行指针操作,使ulong[]直接指向byte[]所在的内存块?要怎么写?
我也不太清楚C#里用指针跟C++有啥区别...感觉即使用unsafe标记了也还是这也不行那也不行?

你最终想达到什么目的呢,就是你修改ulong结果连byte一起变了,导致数据错乱,就是你想要的效果吗

得。不想好好说就算了吧。刚搜到了,进程内存上限的问题来自于VS的默认编译器Any CPU采用x86目标平台,只能维护32位的内存指针导致单个进程最大可用内存地址空间只有2GB,项目设置里手动改成x64就没这限制了,随便申请。

c# 的内存由 c# 管理,unsafe标记了 就脱离了 c#的管理,我不相信你自己有这个能力
即时释放不用了的内存,无论在哪里都是好习惯