对于每个变量 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)
的结果存储在变量中?
你可以调用.First()
或.FirstOrDefault()
来获取实际对象:
var value = @CurrentPage.AncestorsOrSelf().OrderBy("Level").Skip(2).First();
它们之间的区别在于,如果没有项目,First()
将抛出异常,而FirstOrDefault()
将返回default(T)
(即,引用类型的null
,例如 0
int
等)。
由于您正在提取第一项,因此不需要Take(1)
。