gpt4 book ai didi

c# - 如何在 C# 中将 3D 字符串数组存储和恢复到文件中?

转载 作者:行者123 更新时间:2023-11-30 16:20:22 24 4
gpt4 key购买 nike

如何在 C# 中将 3D 字符串数组存储和恢复到文件中?你好;我正在编写一个项目,为公共(public)数组创建一个类,以便我可以以所有形式使用它们。

class MainArray

{

   // Introduce Moarefi Projeh

public static string[] MPArray = new string[15];

// Introduce Moarefi Personel Rozmozd

public static string[,] MPRArray = new string[20,15];

// Introduce Moarefi Peymankaran

public static string[,] MPeymankaranArray = new string[20, 15];

// Introduce Gozaresh PersonelRozMozd

public static string[,] GPRMArray = new string[20, 15];


public static string[,,] MArr = new string[20,20,20];


}

我将所有数据以某种形式保存在这些数组中。我想创建一个类,运算符(operator)可以在使用程序结束时将所有这些数组存储在一个文件中,并在下次使用程序开始时恢复这些数据。

你知道这是我第一次用 C# 编程,请给我一个我可以做到这一点的类代码。我想要一个在我的主程序中使用简单 cod 的类代码,如下所示:MyData.WriteArray(MyArrayName,文件名);对于商店和MyData.ReadArray(MyArrayName,文件名);用于恢复。

最佳答案

此代码会将 MyData 类型的对象保存到二进制文件中:

using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

[Serializable()]
public class MyData
{
private string[,,] SArr;

public MyData(int sizex,int sizey,int sizez)
{
SArr = new string[sizex,sizey,sizez];
}
public MyData(string[,,] data)
{
SArr = data;
}
public string this[x,y,z]
{
get
{
return SArr[x,y,z];
}
set
{
SArr[x,y,z] = value;
}
}
public void SaveToFile(String fileName)
{
Stream TestFileStream = File.Create(fileName);
BinaryFormatter serializer = new BinaryFormatter();
serializer.Serialize(TestFileStream, this);
TestFileStream.Close();
}

public static MyData ReadFromFile(String fileName)
{
if (File.Exists(FileName))
{
Stream TestFileStream = File.OpenRead(FileName);
BinaryFormatter deserializer = new BinaryFormatter();
var data = (MyData)deserializer.Deserialize(TestFileStream);
TestFileStream.Close();
return data;
}
return null;
}
}

在代码中:

var data = new MyData(4,4,4);
MyData[1,1,0] = "TestData";
data.SaveToFile(@"C:\Test.data");
var data2 = MyData.ReadFromFile(@"C:\Test.data");
//data2[1,1,0] == "TestData"

关于c# - 如何在 C# 中将 3D 字符串数组存储和恢复到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14292370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com