如果没有足够的元素,强制Take()得到少于count

时间:2011-10-07 15:40:24

标签: c# linq

我想获得3个或更少的元素(如果Skip()之后没有3个元素可用)。

是否可以使用linq语法?

   myFilteredList = sortedFullList
      .Skip(skipCount)
      .Take(3);

2 个答案:

答案 0 :(得分:60)

Enumerable.Take会自动执行此操作。您给出的代码示例应该有效:

  

在枚举之前,枚举source和yield元素   已经产生了元素,或者源不包含更多元素。

答案 1 :(得分:7)

这应该与您的查询一样 - Take(3)最多会返回3个元素 - 但如果枚举中的项目较少则会减少。