【发布时间】:2013-11-17 23:40:11
【问题描述】:
我需要一种快速的方法来尽快将小型 3D 数组保存到文件中。 数组大小为 32x32x4。 我还需要一种快速读取文件的方法。
到目前为止,我已经尝试遍历所有元素:
for (int xx = 0; xx < 32; xx += 1)
{
for (int yy = 0; yy < 32; yy += 1)
{
for (int zz = 0; zz < 4; zz += 1)
{
String += FormatInt(array[xx, yy, zz]);
}
}
}
将每个整数转成2位数的字符串:(上面的FormatInt()方法)
public string FormatInt(int num)
{
string String = "";
String = Convert.ToString(num);
int length = String.Length;
for (int i = 0; i < (2 - length); i += 1)
{
String = String.Insert(0, "0");
}
return String;
}
然后将该字符串保存到 .txt 文件中。 然后我加载文件,然后将每个 2 位子字符串转换为整数:
int Pos = 0;
for (int xx = 0; xx < chunkSize; xx += 1)
{
for (int yy = 0; yy < chunkSize; yy += 1)
{
for (int zz = 0; zz < 4; zz += 1)
{
array[xx, yy, zz] = Convert.ToInt32(String.Substring(Pos * 2, 2));
Pos += 1;
}
}
}
我需要一种更快的方法来保存文件。 (更快的加载也不错,但现在还不算太慢。)
【问题讨论】: