static void Main(string[] args) { using (var stream = new MemoryStream()) { // serialize object var formatter = new BinaryFormatter(); var foo = new Foo(); formatter.Serialize(stream, foo); // get a byte array var bytes = new byte[stream.Length]; // for(int i=0; i<stream.Length;i++) thanks to Matt for more concise {syntax) var bytes[i]bytes = Convert.ToByte(stream.ReadByteGetBuffer()); } // deserialize object var foo2 = (Foo) formatter.Deserialize(stream); } } [Serializable] class Foo:ISerializable { public string data; #region ISerializable Members public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("data",data); } #endregion } static void Main(string[] args) { using (var stream = new MemoryStream()) { // serialize object var formatter = new BinaryFormatter(); var foo = new Foo(); formatter.Serialize(stream, foo); // get a byte array var bytes = new byte[stream.Length]; for(int i=0; i<stream.Length;i++) { bytes[i] = Convert.ToByte(stream.ReadByte()); } // deserialize object var foo2 = (Foo) formatter.Deserialize(stream); } } [Serializable] class Foo:ISerializable { public string data; #region ISerializable Members public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("data",data); } #endregion } static void Main(string[] args) { using (var stream = new MemoryStream()) { // serialize object var formatter = new BinaryFormatter(); var foo = new Foo(); formatter.Serialize(stream, foo); // get a byte array // (thanks to Matt for more concise syntax) var bytes = stream.GetBuffer(); // deserialize object var foo2 = (Foo) formatter.Deserialize(stream); } } [Serializable] class Foo:ISerializable { public string data; #region ISerializable Members public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("data",data); } #endregion } static void Main(string[] args) { using (var stream = new MemoryStream()) { // putserialize itobject in var formatter = new BinaryFormatter(); var foo = new Foo(); formatter.Serialize(stream, foo); // get ita outbyte array var bytes = new byte[stream.Length]; for(int i=0; i<stream.Length;i++) { bytes[i] = Convert.ToByte(stream.ReadByte()); } // deserialize object var foo2 = (Foo) formatter.Deserialize(stream); } } [Serializable] class Foo:ISerializable { public string data; #region ISerializable Members public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("data",data); } #endregion } static void Main(string[] args) { using (var stream = new MemoryStream()) { // put it in var formatter = new BinaryFormatter(); var foo = new Foo(); formatter.Serialize(stream, foo); // get it out var foo2 = (Foo) formatter.Deserialize(stream); } } [Serializable] class Foo:ISerializable { public string data; #region ISerializable Members public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("data",data); } #endregion } static void Main(string[] args) { using (var stream = new MemoryStream()) { // serialize object var formatter = new BinaryFormatter(); var foo = new Foo(); formatter.Serialize(stream, foo); // get a byte array var bytes = new byte[stream.Length]; for(int i=0; i<stream.Length;i++) { bytes[i] = Convert.ToByte(stream.ReadByte()); } // deserialize object var foo2 = (Foo) formatter.Deserialize(stream); } } [Serializable] class Foo:ISerializable { public string data; #region ISerializable Members public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("data",data); } #endregion } static void Main(string[] args) { using (var stream = new MemoryStream()) { // put it in var formatter = new BinaryFormatter(); var foo = new Foo(); formatter.Serialize(stream, foo); // get it out var foo2 = (Foo) formatter.Deserialize(stream); } } [Serializable] class Foo:ISerializable { public string data; #region ISerializable Members public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("data",data); } #endregion } lang-cs