对于每个变量 x 在 ..有一个结果 ASP.NET MVC 剃刀

本文关键字:ASP NET MVC 剃刀 结果 有一个 于每个 变量 | 更新日期: 2023-09-27 17:56:40

我有这个代码:

foreach (var parent in @CurrentPage.AncestorsOrSelf().OrderBy("Level").Skip(2).Take(1))
{
...
}

@CurrentPage.AncestorsOrSelf().OrderBy("Level").Skip(2).Take(1)总是返回一个结果,这是正确的。在这种情况下,当结果只有一个时,使用 foreach 循环是没有意义的。

如何将@CurrentPage.AncestorsOrSelf().OrderBy("Level").Skip(2).Take(1)的结果存储在变量中?

对于每个变量 x 在 ..有一个结果 ASP.NET MVC 剃刀

你可以调用.First().FirstOrDefault()来获取实际对象:

var value = @CurrentPage.AncestorsOrSelf().OrderBy("Level").Skip(2).First();

它们之间的区别在于,如果没有项目,First()将抛出异常,而FirstOrDefault()将返回default(T)(即,引用类型的null,例如 0 int等)。

由于您正在提取第一项,因此不需要Take(1)