我有以下代码:

return inventoryItems
    .Where(i => 0 < String.Compare(i.ID, ID))
    .Take(CountToFetch);


...但是我想订购结果,如下所示:

return inventoryItems
    .Where(i => 0 < String.Compare(i.ID, ID))
    .Take(CountToFetch)
    .OrderBy(i.pksize);


...但是,最后一个i是红色/超出范围。为什么?尝试将OrderBy()放置在Take()之前没有区别。

最佳答案

return inventoryItems.Where(i => 0 < String.Compare(i.ID, ID))
                     .Take(CountToFetch)
                     .OrderBy(i => i.pksize);


也许您应该更改OrderByTake顺序以使结果可预测:

return inventoryItems.Where(i => 0 < String.Compare(i.ID, ID))
                     .OrderBy(i => i.pksize)
                     .Take(CountToFetch);

09-30 21:45
查看更多