【发布时间】:2014-08-09 19:18:46
【问题描述】:
我正在尝试以易于检索和更新的格式将 3d 数组保存到文件中。我没有找到一个简单的方法来做这件事。
它是一个 3 维的 int 数组。我更喜欢类似于这样的保存方法:
//save
for (int z1 = 0; z1 <= z; z1++)
{
for (int c = 0; c < m.Length; c++)
{
for (int x = 0; x < 4; x++)
{
writeToFile("matrix.txt", matrix[z1][c][x];
}
}
}
和类似的检索方法,但在这一点上我一点也不挑剔,任何可以保存到文件并易于检索的东西都可以。
以上只是首选,因为它可以让我只保存数组中包含数据的部分。
数组的大小类似于 m[4000][7000][4] 但它的人口稀少。
编辑:在运行较长时间后,我的机器无法运行这种大小的数组,因此我将切换到 xml 数据集。谢谢大家的建议,对不起,我不能更好地实施它们。
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
文件格式是否合适?也许,您可能希望将带有 3d 数组的对象序列化为 xml 文件。
-
@Dmitry 不,文件格式无关紧要。您有向 xml 写入和检索数据的方法吗?谢谢
-
为什么不使用序列化你的对象(3D数组)?
-
用你的 3d int 创建一个类。类 My3dInt { 公共 int[10][10][10] ;}。将类标记为 [Serializable] 将您的数组保存到此字段并使用 Xml 序列化。查看示例:msdn.microsoft.com/en-US/en-en/library/vstudio/…
标签: c# arrays multidimensional-array writetofile