如何在没有foreach的情况下简单地调用第一个返回值

时间:2011-03-29 21:16:52

标签: c# asp.net asp.net-mvc

我在这里缺少什么。我只想在MVC2视图中拉出从row.detail返回的第一个,如果没有foreach循环我该怎么做?此代码目前有效,但我只想要列出第一个。任何想法..我知道这可能很简单,但我画了一个空白。

if (Model.App != null)
{
  foreach (var row in Model.App.Instructions)
  {
    <input type="hidden" value="<%= row.Detail %>" id="ixd" />
  }
}

4 个答案:

答案 0 :(得分:12)

使用First扩展方法从集合中获取第一个值

Model.App.Instructions.First()

注意如果集合为空,这将抛出。这可以通过使用FirstOrDefault方法解决,该方法允许您在集合为空时指定默认值。

答案 1 :(得分:2)

似乎每个人都在使用LINQ的First(),扩展方法,只要集合不为空就可以了。你可能还想考虑FirstOrDefault()并检查空结果。

在没有LINQ的情况下更明显(至少对我来说)这样做的方法就是通过它的索引访问第一个元素,只要你的类型支持索引。即只需这样做:

Model.App.Instructions[0]

同样,关于确保收集的警告不是空的。

答案 2 :(得分:1)

您在寻找

吗?
Model.App.Instructions.First()

答案 3 :(得分:1)

LINQ应该可以工作。

Model.App.Instructions.First()