Предполагая список объектов, каждый с идентификатором, каков наиболее эффективный способ построения карусели, чтобы каждый объект знал, каков его предыдущий и следующий элемент.Предыдущий идентификатор последнего элемента будет связан с первым элементом.Предыдущий идентификатор первого элемента будет ссылаться на последний.
Мне нужен идентификатор предыдущего и идентификатор следующего, так как он будет использоваться для заполнения кнопок «следующий» и «предыдущий» на веб-странице.
Я знаю, что мог бы перебирать их, добавляя заполнители для _next и _prev id, но каков самый эффективный способ сделать это?
Я думаю, мой объект должен выглядетькак это:
class Item {
public int Id { get; set; }
public string ItemName { get; set; }
public int Next { get; set; }
public int Prev { get; set; }
}
ТАК, если у меня есть List<Item> items
как я могу наиболее эффективно добавить предыдущий и следующий идентификаторы для каждого элемента?
int _prev = items.LastOrDefault().id;
int _next = items.Count > 1 ? items[1].id : _prev;
foreach (var i in items) {
i.prev = _prev;
i.next = (_next <
_prev = i.id;
//_next = ???
}
Я думаю, что смотрю на это неправильно.Есть ли лучший способ сделать это?