我正在根据一本书的出版时间打印所有最新记录。(PubEnd
)。现在我可以按降序打印所有出版的书籍。
我需要打印最新发布的 20 本书。我该怎么做??
现在,下面的代码正在按降序打印所有出版的书籍。
var query = docs.Descendants(name)
.Select(x => new
{
Title = (string)x.Element(ns + "TITLE"),
Status = (string)x.Element(ns + "STATUS"),
PubEnd = (string)x.Element(ns + "PUB_END")
})
.Select(x => new
{
Title = x.Title,
Status = x.Status,
PubEnd = x.PubEnd,
}).OrderByDescending(x => x.PubEnd).ToList();
foreach (var book in query)
{
if (book.Status == "Published")
{
Response.Write(book.Title);
Response.Write(book.Status);
Response.Write(book.PubEnd);
}
}
最佳答案
使用Take()
:
foreach (var book in query.Take(20))
{
//print
}
如果您总是只需要 20 相应地更新查询本身:
(..).OrderByDescending(x => x.PubEnd).Take(20).ToList();
关于c# - 按日期排序仅在 LINQ 中打印最新的 20 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9721788/