如何选择LINQ中的第三个顶级记录

如何选择LINQ中的第三个顶级记录,linq,Linq,我不希望选择前3条记录,而是希望在单个查询中选择前3条记录。假设您的查询已经在结果集中定义了正确的顺序,您可以使用skip()跳过前两条记录,然后最后获取第三个结果,如果不存在则为null(少于3个结果): 编辑: 实际上,这可以做得更短,因为Take(1)和SingleOrDefault()可以用FirstOrDefault()表示: var result = query.Skip(2).FirstOrDefault(); 假设您的查询已经在结果集中定义了正确的顺序,您可以使用skip()跳

我不希望选择前3条记录,而是希望在单个查询中选择前3条记录。

假设您的查询已经在结果集中定义了正确的顺序,您可以使用
skip()
跳过前两条记录,然后最后获取第三个结果,如果不存在则为null(少于3个结果):

编辑: 实际上,这可以做得更短,因为
Take(1)
SingleOrDefault()
可以用
FirstOrDefault()
表示:

var result = query.Skip(2).FirstOrDefault();

假设您的查询已经在结果集中定义了正确的顺序,您可以使用
skip()
跳过前两个结果,然后最后获取第三个结果,如果不存在,则为null(少于3个结果):

编辑: 实际上,这可以做得更短,因为
Take(1)
SingleOrDefault()
可以用
FirstOrDefault()
表示:

var result = query.Skip(2).FirstOrDefault();

.Take(1).SingleOrDefault()=.FirstOrDefault()@hightech:hah刚刚输入了这个。Take(1).SingleOrDefault()=.FirstOrDefault()@hightech:hah刚刚输入了这个