Вы предлагаете напечатать объект в c[i]
, который вызывает c[i].ToString()
, который возвращает имя типа.
Язык не имеет представления о том, какие элементы этого объекта вы бы хотели распечатать. Поэтому, если вы хотите напечатать (например) название континента, вам нужно будет передать его в Console.WriteLine
. Это, или вы можете переопределить ToString
, чтобы ваш тип возвращал более значимую строку.
На заметку о том, что больше нет веских причин использовать ArrayList
. Вместо этого предпочитайте строго типизированную универсальную коллекцию, т.е.
var list = new List<Continent>();
list.Add(new Continent("", whatever)); // ok
list.Add(1); // fails! The ArrayList would allow it however