可以用C++写序列化和反序列化,然后暴露C接口, C#中用platform invoke调用C接口。

解决方案 »

  1.   

    BinaryFormatter效率不差,至少目前我用起来不觉得差,关键是我不用考虑算法什么的
    存储数据到最后不都是二进制数据么,和类型有什么关系?
    最后一个问题是你传的数据是已经序列化过的吗?如果是,那你要自己反序列化了。或者你是要对传过来的数据进行序列化,那可以直接用。
      

  2.   

    c#序列化与c++序列化又不是一个东西。
    c++传的序列化的东西c#也没有办法用。
    再说了。所有的传输无论是什么都是字节流。
      

  3.   

    C++那一块是我自己做的序列化,把数据序列化成了TLV格式,楼上是不是指BinaryFormatter会把数据序列化成自己的格式,如果是的话那只能我自己去手动序列化了
      

  4.   

    BinaryFormatter的效率不算差阿,如果还想再提升速度是不是可以尝试把要序列化的类或数据进行拆分,然后用多线程去分别序列化。
      

  5.   

    BinaryFormatter不算差阿
    如果还想提升速度是不是可以尝试将要序列化的数据进行拆分,然后多线程去分别序列化。
      

  6.   

    我查了下各位的讨论,看来这个BinaryFormatter我没法用,只能全部自己写,我的数据结构是否应该定义为
        class ByteStreamArchive : CollectionBase
    把所有东西全都整到这个类里面去,然后再把它转成string或者byte出来?