かなり基本的なループのように見えるものがあります。
<% foreach (var item in Model.Items.OrderByDescending(b => b.ItemDateTime)) {%>
最初のアイテムを出力したいだけのすべてのアイテムをループする代わりに、どうすればこれを行うことができますか?
かなり基本的なループのように見えるものがあります。
<% foreach (var item in Model.Items.OrderByDescending(b => b.ItemDateTime)) {%>
最初のアイテムを出力したいだけのすべてのアイテムをループする代わりに、どうすればこれを行うことができますか?
FirstODefault()
コレクションのメソッドを使用できます。次のようなことを試してください:
// check if the model contains any item
if (Model.Items.Count() > 0)
{
//show the item...
var firstItem = Model.Items.OrderByDescending(b => b.ItemDateTime).FirstOrDefault();
}
フェリペのコメントを拡張するには、通常、ビューではなく、ビューモデルまたはコントローラーにこのようなものを配置することをお勧めします。
これをビューモデルに配置できます
public Item EarliestItem
{
get { return Items.OrderByDescending(b => b.ItemDateTime).FirstOrDefault(); }
}
次に、これをビューで使用します
または、最初のアイテムでやりたいことは何でも。