В C #, как я могу получить доступ к объектам объекта, когда обозначение скобками не работает? - PullRequest
4 голосов
/ 27 сентября 2011

У меня есть объект объектов, и я не уверен, как получить доступ к значениям. Вот картинка из отладчика VS:

Debugger shows objects

рассматриваемый объект является ограниченным. Я бы хотел получить значения 7, 14, 157 и 174 примерно так:

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

Очевидно, что это не сработает, потому что это не массив, а объект объектов. Не могли бы вы объяснить правильный способ доступа к числовым значениям, вложенным в объект bounds?

Спасибо!

1 Ответ

11 голосов
/ 27 сентября 2011

Вам нужно привести bounds от object к object[], получить значение из массива, а затем привести к double.

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

или одна строка

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

Если вы сначала поместите свои числа в массив double, тогда вы сможете избежать всех приведений.

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

Кроме того, «скобочные обозначения» известны как индексаторы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...