在C#中,当括号表示不起作用时,如何访问对象的对象?

时间:2011-09-27 13:36:16

标签: c# object

我有一个对象的对象,我不知道如何访问这些值。这是来自VS调试器的图片:

Debugger shows objects

有问题的对象是界限。我想得到7,14,157和174这样的值:

bounds[0]  //Should equal 7
bounds[3]  //Should equal 174

显然这不起作用,因为它不是数组而是对象的对象。你能解释一下访问嵌套在bounds对象中的数值的正确方法吗?

谢谢!

1 个答案:

答案 0 :(得分:11)

您需要将boundsobject投射到object[],从数组中获取值,然后将其投射到double

object[] array = (object[])bounds;
object value = array[0];
double number = (double)value;

或一行

double value = (double)((object[])bounds)[0];

如果您首先将数字放在一个双数组中,那么您可以避免所有的转换。

double[] bounds = new double[x];
... populate array
double value = bounds[0];

此外,“括号表示法”称为indexers