Как инициализировать переменную равную последнему индексу массива 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();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д