假设有一个对象列表,每个对象都有一个 ID,那么构建轮播的最有效方法是什么,以便每个对象都知道它的上一个和下一个项目是什么。最后一个项目的 previousId 将链接到第一个项目。第一项的 previousId 将链接到最后一项。
我需要上一个的 ID 和下一个的 ID,因为这将用于填充网页上的下一个和上一个按钮。
我知道我可以遍历它们,为 _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
如何最有效地将前一个和下一个 ID 添加到每个项目?
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 = ???
}
我想我看错了。有没有更好的方法来做到这一点?