天天看點

Unity與C#的序列化與反序列化

序列化操作在我們的開發中使用的十分普遍,本文記錄了公司最近分享會上關于這部分的講解,希望能幫助大家對序列化有更系統的了解。

概念

序列化又稱串行化,是.NET運作時環境用來支援使用者定義類型的流化的機制。其目的是以某種存儲形式使自定義對象持久化,或者将這種對象從一個地方傳輸到另一個地方。

public class Test :Monobehavior
{
    public int  a;                               //序列化,顯示
    private int b;                               //不序列化,不顯示
    [SerializeField ] int c;                     //序列化,顯示
    [HideInInspector] public int d;              //序列化,不顯示
    [NonSerialized ] public int e;               //不序列化,不顯示
    public Test2 test2;                          //序列化,顯示(可序列化的部分)
}
 
[Serializable ]
public class Test2
{
     public int aa;
     private int bb;
}