如下,序列化一个类。有点问题,烦请支招 !

PCCYC 2015-10-28 02:37:52

public class P
{
public string name;
public int i;
}
BinaryFormatter formatter = new BinaryFormatter();
P p1 = new P();
p1.name = "aaa";
p1.i = 100;
int i = Marshal.SizeOf(p1); //这个地方有问题,也不能用sizeof(px)
byte[] data = new byte[256];
MemoryStream ms = new MemoryStream(i);
formatter.Serialize(ms, p1);

我的需求是将一个类序列化后,传给另外个客户端再反序列,请问这里该如何序列才能达到我的目的,谢谢。。
...全文
69 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
PCCYC 2015-10-28
  • 打赏
  • 举报
回复
引用 2 楼 angel6709 的回复:

 [Serializable]
        class Item{}           

 //序列化

            Item item1 = new Item();
            BinaryFormatter f = new BinaryFormatter();
            Stream s = new MemoryStream();
            f.Serialize(s, item1);
            s.Seek(0, SeekOrigin.Begin);
            byte[] data = new byte[s.Length];
            s.Read(data, 0, data.Length);
            s.Close();

            //反序列化
            Stream s2 = new MemoryStream(data); 
            var item2 = f.Deserialize(s2) as Item;
非常感谢,就是要这个效果,谢谢了!
angel6709 2015-10-28
  • 打赏
  • 举报
回复

 [Serializable]
        class Item{}           

 //序列化

            Item item1 = new Item();
            BinaryFormatter f = new BinaryFormatter();
            Stream s = new MemoryStream();
            f.Serialize(s, item1);
            s.Seek(0, SeekOrigin.Begin);
            byte[] data = new byte[s.Length];
            s.Read(data, 0, data.Length);
            s.Close();

            //反序列化
            Stream s2 = new MemoryStream(data); 
            var item2 = f.Deserialize(s2) as Item;
mingcsharp 2015-10-28
  • 打赏
  • 举报
回复
 int i = Marshal.SizeOf(p1);  //这个地方有问题,也不能用sizeof(px)有什么用,去了不就是可以了 网上有很我序列化,你这个也属于普通的,

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧