Как инициализировать переменную равную последнему индексу массива ArrayList? - C#
Формулировка задачи:
Всем привет, мне нужно реализовать Enumerator, но перебирать элементы с конца массива ArrayList. Проблема в том, что я не знаю как установить переменной, которая является индексом массива изначально максимальное значение.Воn код моего Enumenator:
Вот код класса Person, в котором находится массив, который необходимо перебрать:
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ArrayListProject
{
public class PersonEnumerator : IEnumerator
{
int currIndex = person.GetChildrenNumber(); /*Инициализатор поля не может обращаться к нестатическому полю, методу или свойству "PersonEnumerator.person".*/
PersonClass.Person person;
public PersonEnumerator(PersonClass.Person person)
{
this.person = person;
}
#region IEnumerator Members
public object Current
{
get { return person[currIndex]; }
}
public bool MoveNext()
{
currIndex--;
if (currIndex <= -1)
return false;
else
return true;
}
public void Reset()
{
currIndex = person.GetChildrenNumber();
}
#endregion
}
}using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArrayListProject;
namespace PersonClass
{
public class Person: IPurse
{
public Person(string firstName,string lasName)
{
FirstName = firstName;
LastName = lasName;
}
public string FirstName { get; set; }
public string LastName { get; set; }
#region Дети
ArrayList Children = new ArrayList();
public void AddChild(string firstName, string lastName)
{
Children.Add(new Person(firstName, lastName));
}
public void DeleteChild(int index)
{
Children.RemoveAt(index);
}
public Person GetChild(int index)
{
return (Person)Children[index];
}
#endregion
public int GetChildrenNumber()
{
return Children.Count;
}
public Person this[int index]
{
get { return (Person)Children[index]; }
}
public IEnumerator GetEnumerator()
{
return new PersonEnumerator (this);
}
}
}Решение задачи: «Как инициализировать переменную равную последнему индексу массива ArrayList?»
textual
Листинг программы
public PersonEnumerator(PersonClass.Person person)
{
this.person = person;
currIndex = this.person.GetChildrenNumber();
}