0
而不是選擇前三個記錄,我希望在單個查詢中選擇排名前三的記錄。如何選擇LINQ中的第三個最高記錄
而不是選擇前三個記錄,我希望在單個查詢中選擇排名前三的記錄。如何選擇LINQ中的第三個最高記錄
假設你的查詢已經定義了正確的順序在結果集中,你可以跳過前兩個使用Skip()
然後最後拿第三個結果,或者爲null,如果它不存在(小於3次的結果):
var result = query.Skip(2).Take(1).SingleOrDefault();
編輯: 其實這是可以做到短,由於Take(1)
和SingleOrDefault()
可以FirstOrDefault()
而是表示:
var result = query.Skip(2).FirstOrDefault();
你太快了:)。 + 1 – a1ex07 2011-04-20 02:01:56
。Take(1).SingleOrDefault()== .FirstOrDefault() – 2011-04-20 02:14:21
@hightech:哈哈只是輸入那個 – BrokenGlass 2011-04-20 02:15:07