将对象转换为字节

时间:2013-09-09 12:44:19

标签: c# silverlight silverlight-4.0 byte

我想将一个对象转换为一个带有silverlight的字节。

所以,首先我发现了这个:convert object(i.e any object like person, employee) to byte[] in silverlight

但这不起作用(任何答案),dll proto似乎不太好。

另外,我试过这个:

System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(Address));
            StringBuilder stringBuilder = new StringBuilder();
            using (StringWriter writer = new StringWriter(stringBuilder))
            {
                serializer.Serialize(writer, address);
            }

            System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
            byte[] data = encoding.GetBytes(stringBuilder.ToString());

但是我在字节中得到了一个结果。

我收到的是一个对象byte[0],我只想验证他的长度为0或更多。 我不能用object来做,这就是我试图转换它的原因。但结果中的字节与byte[0]

不同

我怎样才能做我想做的事?只是与0比较。

2 个答案:

答案 0 :(得分:2)

再次阅读你的问题后,如果对象已经是byte[],只需将其投射:

object yourObject = xxx();
byte[] data = (byte[])yourObject;
bool hasData = data != null && data.Length > 0;

答案 1 :(得分:0)

如果您愿意,还有MemoryStream对象将object转换为byte[]byte[]转换为object