2011-03-29 114 views
0

我在这里丢失了什么。我只想从MVC2视图中的row.detail返回的第一个视图中,如何在没有foreach循环的情况下执行此操作?此代码目前可用,但我只想列出第一个代码。任何想法..我知道这可能很简单,但我画空白。我怎样才能在没有foreach的情况下直接调用第一个返回的值

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

回答

12

使用First扩展方法来获得的第一个值从集合

Model.App.Instructions.First() 

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

+1

作为一个侧面说明。这可能需要添加“使用System.Linq;”到文件。 – skarmats 2011-03-29 21:27:36

1

你是正在寻找

Model.App.Instructions.First() 
1

LINQ应该工作。

Model.App.Instructions.First() 
2

似乎每个人都会对LINQ的First(),扩展方法,这是很好的,只要就像集合不为空:)你可能想也考虑FirstOrDefault()和检查空的结果。

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

Model.App.Instructions[0] 

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

相关问题