我如何得到第二个元素的集合,使用LINQ
本文关键字:集合 使用 LINQ 元素 何得 第二个 | 更新日期: 2023-09-27 18:10:17
我有一个愚蠢的问题。我有一个数据库,我需要得到第二个项目不仅是第一个。我打开第一个简单的方法
var source = _context.SourceLogs.Where(a => a.SourceID == user.ID).First()
但我不知道如何打开第二个。我是c#的新手,所以我唯一想的是这个
var source = _context.SourceLogs.Where(a => a.SourceID == user.ID).First(-1)
但这显然不起作用。任何形式的帮助都是感激的。谢谢。
您可以使用LINQ的Skip方法跳过第一个并使用后面的一个:
var source = _context.SourceLogs.Where(...).Skip(1).First();
Skip所做的是创建一个新的IEnumerable,包含除了第一个元素之外的所有元素。然后,取新IEnumerable的First()
var source = _context.SourceLogs.Where(a => a.SourceID == user.ID).ElementAt(1);
试试这个:
var source = _context.SourceLogs.Where(a => a.SourceID == user.ID).OrderBy(a => a.SourceID).Skip(1);
更新:如果您想获得列表中的第二个项目,您可以在查询末尾添加.First()
:
var source = _context.SourceLogs.Where(a => a.SourceID == user.ID).OrderBy(a => a.SourceID).Skip(1).First();
你可以跳过第一个,从它开始。
var source = _context.SourceLogs.Where(a => a.SourceID == user.ID).Skip(1).First()
可以使用
var source = _context.SourceLogs.Where(a => a.SourceID == user.ID).ToList();
然后在方便的时候查询源列表