4
我收到了封装在struct
中的一些数据(很多次)。我需要做的是将它们写入文件(二进制)以恢复数据。你会怎么做?将结构数据写入二进制文件
我收到了封装在struct
中的一些数据(很多次)。我需要做的是将它们写入文件(二进制)以恢复数据。你会怎么做?将结构数据写入二进制文件
执行ISerializable
(更大的自定义)或标记[Serializable]
属性(更易于使用)。然后使用BinaryFormatter
来序列化为一个文件。
public struct MyStruct : ISerializable
{
#region ISerializable Members
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
throw new NotImplementedException();
}
#endregion
public override int GetHashCode()
{
return base.GetHashCode();
}
public override bool Equals(object obj)
{
return base.Equals(obj);
}
public static bool operator ==(MyStruct m1, MyStruct m2)
{
return true;
}
public static bool operator !=(MyStruct m1, MyStruct m2)
{
return false;
}
}
你可能想看看这个:http://stackoverflow.com/questions/628843/byte-for-byte-serialization-of-a-struct-in-c – 2010-07-30 13:36:32
你需要把它写以特定的格式(例如,由另一个程序读取),或者只是为了保存一些状态并再次从同一程序中读取它?在后面的情况下,我会建议声明struct [serializable](和所有自定义成员类型),并将其序列化为文件。 – Grizzly 2010-07-30 13:37:24
我正要回答“让我Google给你”,但我可能会得到许多upvotes ... – Luiscencio 2010-07-30 13:45:27