【发布时间】:2016-02-17 04:45:28
【问题描述】:
我有一个对象,其属性之一是字节数组。
我将该属性分配给名为obj1 的对象。当我将该属性分配给一个变量时,它会获取{System.Byte[]} 类型,它是一个对象,而不是一个数组。
因此,我无法访问它。问题是,编写该类的人没有定义任何.GetValue() 方法,所以我无法真正访问元素,但调试器监视显示了值!
为该对象定义的唯一方法是 Equals、GetType 和 ToString(返回 System.Byte 而不是值)。
我尝试了以下方法,但没有任何运气:
var vals = (System.Byte[])obj1 //Returns a {System.Byte[]} object
var vals = (obj1 as System.Byte[]) //Returns a {System.Byte[]} object
var vals = obj1.GetValue //Complains that GetValue is not defined
我可以使用监视窗口查看数组值,但在访问元素时遇到问题,这让我发疯。
【问题讨论】:
-
obj1的类型是什么?你能打印 obj1.GetType() 的输出吗?
-
var vals = ((System.Byte[])obj1)[0]
-
您在访问该元素时遇到了什么样的问题?
标签: c# arrays object casting getvalue