Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将对象转换为字节_C#_Silverlight_Silverlight 4.0_Byte - Fatal编程技术网

C# 将对象转换为字节

C# 将对象转换为字节,c#,silverlight,silverlight-4.0,byte,C#,Silverlight,Silverlight 4.0,Byte,我想用silverlight将一个对象转换成一个字节 因此,首先我发现: 但这是不工作的(任何答案),dll协议似乎不好 另外,我试过这个: System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(Address)); StringBuilder stringBuilder = new StringBuilder();

我想用silverlight将一个对象转换成一个字节

因此,首先我发现:

但这是不工作的(任何答案),dll协议似乎不好

另外,我试过这个:

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());
但是我在字节中得到了一个结果

我收到的是一个对象
字节[0]
,我只想验证他的长度是否为0或更多。 我无法使用
对象
,这就是我试图转换它的原因。但是结果中的字节不同于
字节[0]


我怎么能做我想做的?仅与0进行比较。

再次阅读您的问题后,如果对象已经是
字节[]
只需将其强制转换为:

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

如果您喜欢,还有一个
MemoryStream
对象,它将
对象
转换为
字节[]
字节[]
转换为
对象

我听说在刚进行强制转换时可能会出现问题?这是真的还是假的?要使强制转换生效,对象的类型必须是
byte[]
null
。如果您不能保证这一点,您可以使用
is
关键字或
as
模式检查数据类型。感谢您的帮助。这是我的第一个答案,但在再次阅读问题后,我明白OP不想反序列化数据,而只是能够检查字节数组中是否有数据,声明为object.true。重读一遍。这个问题起初令人困惑。投票表决史蒂夫的回答