是否可以将C#中的变量保存到磁盘,以便以后能够在项目的另一个实例中使用它?
例如,我有一个包含3个字段的结构,如下例所示:
struct MyStruct
{
byte[] ByteData;
int MyInt;
double MyDouble;
};
我有一个这个结构的实例,让我们说MyStruct S
并为我的所有字段赋值。
在这一步之后,我想以某种方式将此变量保存在磁盘中,以便我可以在程序中稍后使用这些存储的值。
我知道,我可以将这些值复制到.txt文件中,但是我想将变量保存在我的磁盘上,这样我就可以在项目的下一个运行时将其直接加载到内存中。 / p>
是否有可能以某种方式将其保存在磁盘上,以便我可以将其加载到我的程序中?
答案 0 :(得分:6)
public void SerializeObject<T>(string filename, T obj)
{
Stream stream = File.Open(filename, FileMode.Create);
BinaryFormatter binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(stream, obj);
stream.Close();
}
public T DeSerializeObject<T> (string filename)
{
T objectToBeDeSerialized;
Stream stream = File.Open(filename, FileMode.Open);
BinaryFormatter binaryFormatter = new BinaryFormatter();
objectToBeDeSerialized= (T)binaryFormatter.Deserialize(stream);
stream.Close();
return objectToBeDeSerialized;
}
[Serializable]
struct MyStruct
{
byte[] ByteData;
int MyInt;
double MyDouble;
}
不要忘记将对象标记为可序列化。
答案 1 :(得分:2)
您可以使用序列化,请查看此MSDN链接Serialization。
答案 2 :(得分:2)