Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# foreach var x在。。。一个结果是ASP.NET MVC RAZOR_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# foreach var x在。。。一个结果是ASP.NET MVC RAZOR

C# foreach var x在。。。一个结果是ASP.NET MVC RAZOR,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我有以下代码: foreach (var parent in @CurrentPage.AncestorsOrSelf().OrderBy("Level").Skip(2).Take(1)) { ... } @CurrentPage.AncestorsOrSelf().OrderBy(“Level”).Skip(2.Take(1)始终返回一个正确的结果。在这种情况下,当结果只有一个时,使用foreach循环是没有意义的 如何将@CurrentPage.antestorsorself().Ord

我有以下代码:

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

如何将
@CurrentPage.antestorsorself().OrderBy(“Level”).Skip(2)中的结果存储在变量中?

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

var value = @CurrentPage.AncestorsOrSelf().OrderBy("Level").Skip(2).First();
它们之间的区别在于,如果没有项,
First()
将抛出异常,而
FirstOrDefault()
将返回
default(T)
(即,对于引用类型,
null
,例如对于
int
s等,
0

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

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

var value = @CurrentPage.AncestorsOrSelf().OrderBy("Level").Skip(2).First();
它们之间的区别在于,如果没有项,
First()
将抛出异常,而
FirstOrDefault()
将返回
default(T)
(即,对于引用类型,
null
,例如对于
int
s等,
0


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

var parent=CurrentPage.antestorself()…跳过(2).FirstOrDefault()
Btw,我是一个umbraco命令。
var parent=CurrentPage.antestorself()…跳过(2).FirstOrDefault()
Btw,我是该命令是一个umbraco命令。非常感谢,它工作了,我花了2个小时试图修复它。我是MVC新手。@RuslanDascal:如果它解决了你的问题,请点击这个答案计票下面的小复选标记。这有助于其他寻找同样东西的人知道这是解决方案:)非常感谢,它成功了,我花了2个小时试图修复它。我是MVC新手。@RuslanDascal:如果它解决了你的问题,请点击这个答案计票下面的小复选标记。这有助于其他寻找同样东西的人知道这就是解决方案:)