如何检查一个对象是否包含字节数组?

10

我在以下代码中遇到了问题。

byte[] array = data as byte[]; // compile error - unable to use built-in conversion

if (array != null) { ...

如果数据确实是字节数组,我只想将数据赋值给数组变量。


有趣。我写下这个问题已经九年了,但是上面的代码在dotnet core中编译得很好。 我猜自Silverlight时代以来情况已经有所改善。进步了! - Stephen Price
3个回答

18
这样怎么样呢?
byte[] array = new  byte[arrayLength];
if (array is byte[])
{
    // Your code
}

最佳答案 - 同时避免了拼写错误。 - Dennis Guse

11

尝试

if(data.GetType().Name == "Byte[]") 
{
    // assign to array
}

"Byte[]" 没错,这也可以。通过检查对象的类型,解决了我的问题。 - Stephen Price

1

我一问就意识到数据类型不是对象。

将其设置为对象类型(通过Silverlight中的类型转换器传入),它就可以工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接