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