C# 如何检查对象是否包含字节数组?

C# 如何检查对象是否包含字节数组?,c#,arrays,C#,Arrays,我对以下代码有问题 byte[] array = data as byte[]; // compile error - unable to use built-in conversion if (array != null) { ... 如果数据实际上是字节数组,我只想将数据分配给数组变量。试试看 if(data.GetType().Name == "Byte[]") { // assign to array } 当我问这个问题时,我意识到数据的类型不是对象 将其设置为objec

我对以下代码有问题

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

if (array != null) { ...
如果数据实际上是字节数组,我只想将数据分配给数组变量。

试试看

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

当我问这个问题时,我意识到数据的类型不是对象

将其设置为object类型(它通过Silverlight中的类型转换器输入),并且工作正常

这个怎么样:

byte[] array = new  byte[arrayLength];
if (array is byte[])
{
    // Your code
}

“Byte[]”是的,那也行。通过检查对象的类型修复了我的问题。最漂亮的答案-也避免了打字错误。有趣。我写这个问题已经九年了,上面的代码在dotnetcore中编译得很好。我想自从Silverlight时代以来情况有所改善。进步!