Я перебираю массив элементов, вложенных в другой массив элементов.
Почти всегда внутренний массив содержит 5 индексов, но есть вероятность, что фид, который я использую, будет толькоимеет 4 индекса.
Когда я добавляю индексы в свою ViewModel, если пятый индекс отсутствует, все взрывается.
Как я могу предотвратить "Индекс выходит за пределыошибки массива в этом конкретном сценарии?
private List<ImageViewModel> ConvertSmugMugModel(SmugMugGallery smugMugGallery)
{
return smugMugGallery.Channel.Items.Select(i => new ImageViewModel
{
TinyImage = i.Group.Contents[0].Url,
ThumbnailUrl = i.Group.Contents[1].Url,
SmallImageUrl = i.Group.Contents[2].Url,
MediumImageUrl = i.Group.Contents[3].Url,
LargeImageUrl = i.Group.Contents[4].Url
}).ToList();
}
* примечание: я не против перехода на iCollection
или какой-либо другой объект, если использование массива не наилучшим образом подходит.Я просто не хотел добавлять раздувание, если мне не нужно.
Редактировать
Кал спросил, как выглядит модель в комментарииниже.
[XmlRoot("rss")]
public class SmugMugGallery
{
[XmlElement("channel")]
public m_Channel Channel { get; set; }
public class m_Channel
{
[XmlElement("item")]
public Item[] Items { get; set; }
public class Item
{
[XmlElement("group", Namespace = "http://search.yahoo.com/mrss/")]
public m_Group Group { get; set; }
public class m_Group
{
[XmlElement("content", Namespace = "http://search.yahoo.com/mrss/")]
public Content[] Contents { get; set; }
public class Content
{
[XmlAttribute("url")]
public string Url { get; set; }
}
}
}
}
}