//将C#代码进行序列化操作
    void BinarySerialize(BinarySerializeTest bst)
    {
        FileStream      fs = new FileStream(Application.dataPath + "/bst.bytes", FileMode.Create, FileAccess.ReadWrite); //创建文件流
        BinaryFormatter bf = new BinaryFormatter();                                                                      //创建二进制格式化器

        bf.Serialize(fs, bst);                                                                                           //对C#类做二进制序列化
        fs.Close();                                                                                                      //关闭文件流
    }
    //对二进制文件进行反序列化操作
    BinarySerializeTest BinaryDerialize(TextAsset ta)
    {
        MemoryStream        ms  = new MemoryStream(ta.bytes);
        BinaryFormatter     bf  = new BinaryFormatter();
        BinarySerializeTest bst = (BinarySerializeTest)bf.Deserialize(ms);

        ms.Close();
        return(bst);
    }
    void SerializeTest()
    {
        BinarySerializeTest bst = new BinarySerializeTest();

        bst.Id   = 0;
        bst.Name = "make american greater again";
        bst.List = new List <int>();
        bst.List.Add(1);
        bst.List.Add(3);

        BinarySerialize(bst);
    }
    void BinaryDeSerializeTest()
    {
        TextAsset ta = UnityEditor.AssetDatabase.LoadAssetAtPath <TextAsset>("Assets/bst.bytes");//加载TextAsset,准备存储二进制文件

        if (ta == null)
        {
            Debug.LogError("TextAsset ta is null");
        }
        BinarySerializeTest bst = BinaryDerialize(ta);

        Debug.Log("二进制文件中 Id is :" + bst.Id);
        Debug.Log("二进制文件中 Name is : " + bst.Name);
        foreach (int item in bst.List)
        {
            Debug.Log(item);
        }
    }