ArrayList, извлекающий значение объекта - PullRequest
0 голосов
/ 24 ноября 2010

Это делается в методе static void в основном классе.(класс используется для ввода).

private static void Input(ArrayList list)
{
   //other code...

   Object b = new Object(number, hour, minutes, seconds);
   list.Add(b)
}

Далее у меня есть другой метод static void для отображения объектов внутри.Дело в том, что я хочу сгруппировать их по номеру, а затем отобразить все часы, минуты и секунды для одного и того же числа друг под другом.Затем следующие числа со всеми соответствующими часами, минутами и секундами.

Но я не уверен, как мне получить номер, например, первый массив, 2-й и т. Д.

Как я могу получить доступ к этому?Синтаксис ниже не работает, и вы не знаете, как получить это значение (я).

int var = array[0].number; //does not work

Также, как мне сделать экземпляр этого объекта снова?Я не могу использовать новое снова, я могу?

 private static void Output(ArrayList list)
{
   while (i < list.Count)
   {
      //keep track of current group (number)
      //announce group
      //...
   }
}

С уважением.

Ответы [ 2 ]

0 голосов
/ 24 ноября 2010

Это потому, что вы используете неуниверсальную коллекцию (ArrayList вместо List<T>). Если вы можете, было бы намного лучше использовать универсальную коллекцию. Однако, если вы вынуждены использовать ArrayList, вы должны разыграть:

Foo foo = (Foo) list[0];
int x = foo.number;
...

(надеюсь, вы не действительно назвали свой собственный класс Object ... Я бы также рекомендовал не использовать имя var, так как это контекстное ключевое слово с C # 3).

0 голосов
/ 24 ноября 2010

Вместо использования ArrayList используйте List<T>, где T - ваш тип объекта.

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