C# 将锯齿状数组写入二进制文件会产生与使用相同值写入多维数组不同的结果吗?

C# 将锯齿状数组写入二进制文件会产生与使用相同值写入多维数组不同的结果吗?,c#,.net,arrays,out-of-memory,binaryfiles,C#,.net,Arrays,Out Of Memory,Binaryfiles,我有一个C#多维数组太大,引发了outofmemory异常。因此,我更改了代码,决定使用锯齿状数组array[][][],而不是原来的array[,]。将这些文件写入二进制文件时(如下所示): 结果文件会有任何不同吗?若要添加上下文,我将尝试在ImageJ中打开这些.bin文件作为原始数据导入(以获取用于体绘制的图像堆栈)。尝试时发生了什么?使用锯齿阵列,导入到ImageJ中会产生乱码数据。由于出现异常,我无法尝试使用3d阵列。我建议尝试使用较小的阵列。 var formatter = new

我有一个C#多维数组太大,引发了outofmemory异常。因此,我更改了代码,决定使用锯齿状数组
array[][][]
,而不是原来的
array[,]
。将这些文件写入二进制文件时(如下所示):


结果文件会有任何不同吗?若要添加上下文,我将尝试在ImageJ中打开这些.bin文件作为原始数据导入(以获取用于体绘制的图像堆栈)。

尝试时发生了什么?使用锯齿阵列,导入到ImageJ中会产生乱码数据。由于出现异常,我无法尝试使用3d阵列。我建议尝试使用较小的阵列。
var formatter = new BinaryFormatter();
formatter.Serialize(File.OpenWrite($"{Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)}/array.bin"), array);