我想将一个对象转换为一个带有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比较。
答案 0 :(得分:2)
再次阅读你的问题后,如果对象已经是byte[]
,只需将其投射:
object yourObject = xxx();
byte[] data = (byte[])yourObject;
bool hasData = data != null && data.Length > 0;
答案 1 :(得分:0)
如果您愿意,还有MemoryStream
对象将object
转换为byte[]
和byte[]
转换为object