Время от времени я получаю доступ к определенному элементу в списке и мне нужен предыдущий и следующий элемент.
Однако, если элемент, к которому я хочу получить доступ, является последним в коллекции, я получаю исключение.То же самое с другой стороной.
Чтобы решить эту проблему, я создаю этот уродливый оператор if - else if - else.
if ( i == this.Count() - 1 )
{
currToNext = new Vertice(this[i], this[0]);
currToPrevious = new Vertice(this[i], this[i-1]);
}
else if ( i == 0 )
{
currToNext = new Vertice(this[i], this[i+1]);
currToPrevious = new Vertice(this[i], this[this.Count() -1]);
}
else
{
currToNext = new Vertice(this[i], this[i+1]);
currToPrevious = new Vertice(this[i], this[i-1]);
}
Есть ли лучший способ решить эту проблему?