使用Linq获得第N个值

时间:2010-03-16 08:31:38

标签: linq

如何使用Linq获取第N行?两列都是文字,所以我不能使用min / max

5 个答案:

答案 0 :(得分:41)

var nthItem = items.Skip(n).First();

答案 1 :(得分:23)

另一种选择(.Net 3.5及更高版本)是使用ElementAtOrDefault。

var nthItem = items.ElementAtOrDefault(n-1);

方法的索引是从零开始的,所以如果你想要第三个元素,你为索引传递2。

答案 2 :(得分:5)

您可以使用skip and take。

var result = myData.OrderBy(<your order by>).Skip(5).Take(1);

答案 3 :(得分:4)

var nthItem = items.Skip(n-1).FirstOrDefault();

答案 4 :(得分:0)

您可以通过跳过使用订单

var nthItem = items.OrderByDescending(<your order by>).skip(n-1).FirstOrDefault();