C# 是否有一种浏览列表的简单方法<;t>;对象

C# 是否有一种浏览列表的简单方法<;t>;对象,c#,.net,wpf,user-interface,collections,C#,.net,Wpf,User Interface,Collections,我有一个WPF表单,显示联系人(姓名、地址和状态) GUI绑定到CurrentContact对象,并存储在列表中 我想在底部添加按钮: +-----+ +-----+ +-----+ +-----+ | << | | < | | > | | >> | +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ | | | >> | +-----+

我有一个WPF表单,显示联系人(姓名、地址和状态)

GUI绑定到
CurrentContact
对象,并存储在
列表中

我想在底部添加按钮:

+-----+ +-----+ +-----+ +-----+ | << | | < | | > | | >> | +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ | | | >> | +-----+ +-----+ +-----+ +-----+ 意思是第一个,前一个,下一个和最后一个


是否有一个简单的控件或约定来遍历列表?或者我需要存储一个currentItemIndex并滚动我自己的列表吗?

列表提供随机访问,因此您不需要迭代它们来从一个点到另一个点。事实上,如果列表很长,迭代可能效率很低;例如,假设您想从第一条记录中找到最后一条记录

在任何情况下,您的四个按钮都只是:

  • 第一名:
    列表[0]
  • 上一个:
    列表[currentIndex-1]
  • 下一步:
    列出[currentIndex+1]
  • last:
    list[list.Count-1]

John是正确的,如果您需要随机访问,使用索引是100%可行的方法。但是,对于纯粹的迭代/游标访问(移动到开始、结束、下一步、返回),枚举器很可能更有效,因为它正是为此目的编写的。我希望找到类似于处理溢出的枚举器之类的东西。然而,这就是我最终所做的。