在列表中查找值的页面

时间:2011-03-02 22:49:44

标签: .net

在列表中找到值的页面的最佳和最好的解决方案是什么,例如以10分页。

所以我有int 0-1000。我按10分页。因此,23位于3页面。

谁有一个很好的解决方案?

3 个答案:

答案 0 :(得分:3)

Int pageNumber = (Int) Math.Ceiling(((Double) (item.Index + 1) / (Double) itemsPerPage));

这假设您知道要查找的项目以及列表不从0开始,如果确实如此,则将其添加到索引中。

我要回答这个问题,因为人们似乎遇到了麻烦。我也从0开始纠正。

在C#中,整数除法返回

任何小数部分都会被覆盖或向下舍入,因此只需对项目索引和页面中的项目数进行整数除法。

对于以下说明,请考虑分子为(index + 1) 23 / 10 = 2,这不是真的,因为该项目位于第三页。在答案中添加1并不能解决问题,因为20/10 = 2 + 1 = 3这是不正确的,因为此项目位于第2页。

通过施法加倍,我们会导致双重分裂

double / double返回double。然后拿着那些圆形的天花板给我们提供的页面。

答案 1 :(得分:2)

无需圆形,然后使用天花板。整数除法将做一个底线,然后加1。

int page = ndx / 10 + 1;

或通用页数:

int page = ndx / perPage + 1

如果你的第一项是1,你只需要在索引中添加一项

int page = (ndx + 1) / perPage + 1

答案 2 :(得分:0)

将整数除以10并向上舍入!