2011-03-29 133 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] 

同樣,關於確保收集不是空的警告。

相關問題