请记住,这是.net 2.0 - 2.5的旧版本,因为我使用的是Unity 5.6.2f1
[System.Serializable]
public class SaveManager {
[OptionalField]
public float version = 1.5f;
[OptionalField]
public string versionString = "1.5";
}
使用上述类通过BinaryFormatter将数据保存到文本文件时,这些值将设置为默认值。 版本将为0 versionString将是“”
有没有办法让不存在的可选字段具有默认值?我一直在谷歌搜索这个问题,但我没有找到任何有用的信息。
为了澄清,此问题通过Serializing SaveManager类重现,其中没有字段,将数据保存到txt文件。然后更新SaveManager类以包含OptionalField float版本,然后尝试读取保存的数据,然后将其反序列化为SaveManager。