C#中的分页-我可以简化代码吗?

卡米尔

我可以简化我的代码吗?

我名单很长。我正在使用一些API,每个方法调用最多接受25条记录。

我写了简单的分页

List<long> items = new List<long>(); // this will contain 100+ records

int itemsCnt = items.Count();
int pagesCnt = (itemsCnt + (itemsCnt % 25)) / 25; // calculating total pages

int page = 0;

while (page < pagesCnt)
{
    List<long> itemsSinglePageList = items.GetRange(page, 25);

    ProcessPageOfRecords(itemsSinglePageList);
    page++;
}

我想知道是否可以简化一下。

失误
int pagesCnt = (itemsCnt + (itemsCnt % 25)) / 25; // calculating total pages

这不是您想要的。模数是余数,这意味着它用于减法,而不是加法。以下两个是正确的,但我更喜欢后者:

int pagesCnt = ((itemsCnt - (itemsCnt % 25)) / 25) + 1; 

int pagesCnt = Math.Ceiling ( (double)itemsCnt / 25 ) ; //Rounding up is basically what you want here.

但是,为了进行深入的审查,我建议将此内容发布到https://codereview.stackexchange.com/,因为它们更适合这些类型的答案。

编辑以解释为什么模数用法在您的情况下是错误的:

假设有26个项目。让我们使用您的公式:

(itemsCnt + (itemsCnt % 25)) / 25

(26 + (26 % 25)) / 25

(26 + (1)) / 25

(27 ) / 25

//Not casted as double, so it's an int division
1

以我的示例为例:

Math.Ceiling ( (double)itemsCnt / 25 )

Math.Ceiling ( (double)26 / 25 )

Math.Ceiling ( 1.04 )

2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#-我可以/应该简化/更改此代码段吗?

来自分类Dev

可以在Java中简化此并发代码吗

来自分类Dev

Path.Data 创建可以在代码中简化吗?

来自分类Dev

C#使用嵌入式代码块-可以简化吗?

来自分类Dev

可以用C#简化吗?

来自分类Dev

我可以从html元素访问LINQPad的C#代码吗?

来自分类Dev

我可以将SyntaxNet用作C ++代码中的库吗?

来自分类Dev

我可以在C中编译选定的标头代码吗

来自分类Dev

我可以简化从Python中的字符串类型派生吗?

来自分类Dev

我可以简化从Python中的字符串类型派生吗?

来自分类Dev

我可以简化从Python中的字符串类型派生吗?

来自分类Dev

我可以在Swift代码中运行JavaScript吗?

来自分类Dev

我可以从调用代码中退出ipython吗?

来自分类Dev

我可以在RichAsyncFunction中编写同步代码吗

来自分类Dev

我们可以在代码中执行多个程序吗?

来自分类Dev

我可以在Dreamweaver中突出显示代码块吗?

来自分类Dev

我仍然可以从旧版Visual Studio中打开代码吗?

来自分类Dev

我可以在Arcgis Desktop中运行arcgis javascript代码吗

来自分类Dev

我可以在 Heroku 暂存中忽略部分代码吗

来自分类Dev

我们可以在Python中使用C代码吗?

来自分类Dev

我可以使C ++代码结构互相看到吗?

来自分类Dev

我可以重构Angular JS验证条件以简化代码吗?

来自分类Dev

有人可以帮我简化这段代码吗?

来自分类Dev

我们可以使用Inno Setup 6.1中新的“版本”功能来简化脚本吗?

来自分类Dev

我们可以使用Inno Setup 6.1中新的“版本”功能来简化脚本吗?

来自分类Dev

(我可以最小化)我的C ++代码中模板的占用空间吗?

来自分类Dev

我可以搜索C#代码来查找未记录的异常吗?

来自分类Dev

我可以在PHP或node.js中使用c#代码转换ASMX Web服务吗?

来自分类Dev

我可以使用C#对VB代码进行单元测试吗?

Related 相关文章

  1. 1

    C#-我可以/应该简化/更改此代码段吗?

  2. 2

    可以在Java中简化此并发代码吗

  3. 3

    Path.Data 创建可以在代码中简化吗?

  4. 4

    C#使用嵌入式代码块-可以简化吗?

  5. 5

    可以用C#简化吗?

  6. 6

    我可以从html元素访问LINQPad的C#代码吗?

  7. 7

    我可以将SyntaxNet用作C ++代码中的库吗?

  8. 8

    我可以在C中编译选定的标头代码吗

  9. 9

    我可以简化从Python中的字符串类型派生吗?

  10. 10

    我可以简化从Python中的字符串类型派生吗?

  11. 11

    我可以简化从Python中的字符串类型派生吗?

  12. 12

    我可以在Swift代码中运行JavaScript吗?

  13. 13

    我可以从调用代码中退出ipython吗?

  14. 14

    我可以在RichAsyncFunction中编写同步代码吗

  15. 15

    我们可以在代码中执行多个程序吗?

  16. 16

    我可以在Dreamweaver中突出显示代码块吗?

  17. 17

    我仍然可以从旧版Visual Studio中打开代码吗?

  18. 18

    我可以在Arcgis Desktop中运行arcgis javascript代码吗

  19. 19

    我可以在 Heroku 暂存中忽略部分代码吗

  20. 20

    我们可以在Python中使用C代码吗?

  21. 21

    我可以使C ++代码结构互相看到吗?

  22. 22

    我可以重构Angular JS验证条件以简化代码吗?

  23. 23

    有人可以帮我简化这段代码吗?

  24. 24

    我们可以使用Inno Setup 6.1中新的“版本”功能来简化脚本吗?

  25. 25

    我们可以使用Inno Setup 6.1中新的“版本”功能来简化脚本吗?

  26. 26

    (我可以最小化)我的C ++代码中模板的占用空间吗?

  27. 27

    我可以搜索C#代码来查找未记录的异常吗?

  28. 28

    我可以在PHP或node.js中使用c#代码转换ASMX Web服务吗?

  29. 29

    我可以使用C#对VB代码进行单元测试吗?

热门标签

归档