c# - .Net - 随机排序的自定义分页

标签 c# .net linq paging

我有一个绑定(bind)到列表的 ListView。 ListView 实现自定义分页,其中仅返回页面上的结果数,当结果按字母顺序排列时效果很好。但是,我想尝试以随机顺序返回结果——场景是一个销售办公室,团队成员显示在 ListView 上。

我正在寻找一种允许自定义分页但保持结果随机化的算法。例如,按字母顺序,很简单 - .Take(Page# * ResultsOnPage)。但是,如果每次加载页面时都是随机的,那么个人可能会在多个页面上显示,而有些则根本不显示。

所以目标是:

  • 随机列表
  • 从列表中获取给定页面的结果
  • 根据需要获取同一随机列表的下一页。

这是否可能,或者我是否需要有一个逻辑上维护的顺序才能成功实现自定义分页?

最佳答案

扩展 zmbq 的答案,你不需要创建一个类,你可以简单地用随机值填充一个新列表。以下来自this post .

Random rnd = new Random();
var randomizedList = from item in list
                     orderby rnd.Next()
                     select item;

关于c# - .Net - 随机排序的自定义分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9472658/

相关文章:

c# - 在 Linq 的循环中添加 OR 表达式

linq - C#EF Linq按位问题

c# - 使用 LINQ 的结构与类

c# - 如何强制第三方服务尊重安全?

c# - 使用 LINQ 检查是否订购了 IEnumerable<int> 的最紧凑的方法是什么?

.net - 从字符串构造 C# Type 以进行序列化/反序列化的最佳方法

.net - 为什么 .NET 的条件属性会导致副作用被删除?

c# - 如何在 ASP.NET MVC3 中表示不同的产品级别和功能访问?

c# - 在 Windows 窗体应用程序中单击按钮时隐藏窗体并显示另一个窗体

.NET 站点/应用程序在一段时间内未访问时加载速度会变慢。正在编译吗?或者由于 IIS 中的空闲超时设置?