如何使用LINQ获取集合中的第二个元素?

sha*_*wec 5 c# linq

我有一个愚蠢的问题.我有一个数据库,我需要获得第二项不仅是第一项.我打开第一个简单的方法

var source = _context.SourceLogs.Where(a => a.SourceID == user.ID).First()

但我不知道如何打开第二个.我是C#的新手,所以我唯一想到的就是这个

var source = _context.SourceLogs.Where(a => a.SourceID == user.ID).First(-1)

但这显然不起作用.任何形式的帮助表示赞赏.谢谢.

Avn*_*tan 8

你可以使用LINQ的Skip方法跳过第一个并取一个后面的:

var source = _context.SourceLogs.Where(...).Skip(1).First();
Run Code Online (Sandbox Code Playgroud)

Skip所做的是创建一个新的IEnumerable,其中包含除第一个之外的所有项目.然后,你获取新的IEnumerable的First().


Kęd*_*rzu 5

var source = _context.SourceLogs.Where(a => a.SourceID == user.ID).ElementAt(1);
Run Code Online (Sandbox Code Playgroud)