Как вывести первый элемент из коллекции ASP.NET

305
23 июля 2017, 08:16

Есть модель новостей, там коллекция картинок (их несколько штук для каждой новости). Надо вывести только первую картинку из этой коллекции.

Так выглядит модель:

public class NewsViewModelItem
{
    public int Id { get; set; }
    public string ShortTitle { get; set; }
    public string FullTitle { get; set; }
    public string ShortArticle { get; set; }
    public string FullArticle { get; set; }
    public virtual ICollection<NewsImageModelItem> NewsImages { get; set; }
}
public class NewsImageModelItem
{
    public int Id { get; set; }
    public byte[] ImageItem { get; set; }
    public int NewsId { get; set; }
}
public class PageInfo
{
    public int PageNumber { get; set; }
    public int PageSize { get; set; }
    public int TotalItems { get; set; }
    public int TotalPages
    {
        get { return (int)Math.Ceiling((decimal)TotalItems / PageSize); }
    }
}
public class NewsViewModel
{
    public List<NewsViewModelItem> News { get; set; }
    public PageInfo PageInfo { get; set; }
}

Чтоб вывести все картинки я использую такую конструкцию:

@foreach (var item in Model.News)
{
   @foreach (var img in item.NewsImages){
      //тут выводятся все картинки
      <img src="data:image;base64,@System.Convert.ToBase64String(img.ImageItem)" />
   }
}

Вопрос: Как вывести только первую картинку?

Answer 1

Заместо цикла используйте FirstOrDefault item.NewsImages.FirstOrDefault().ImageItem, вроде так. Либо можно попробовать по номеру объекта item.NewsImages[0].ImageItem.

READ ALSO
Как выбрать макс. значение для каждого типа из массива объектов?

Как выбрать макс. значение для каждого типа из массива объектов?

У меня есть массив объектовНужно выбрать для каждого type максимальный number

262