A sequência não contém elementos

08/04/2014

0

Esse é o erro que dá.

An exception of type 'System.InvalidOperationException' occurred in System.Core.dll but was not handled in user code

Abaixo a minha expressão que gerou o erro:

if (refeicoes != null)
                {
    
                    for (int i = 0; i < refeicoes.Length; i++)
                    {
                        lista.Add(pesquisaHotel.Where(x => x.SubOfferGroups.Select(a => a.AnswerOffersList[0].IncludesItems).Contains(refeicoes[i])).Select(a=> a.ProductId).First());
                        lista.Add(pesquisaHotel.Where(x => x.SubOfferGroups.Select(a => a.AnswerOffersList[0].IncludesFoodPlans).Contains(refeicoes[i])).Select(a => a.ProductId).First());
                    }
    
                    pesquisaHotel = pesquisaHotel.Where(x => lista.Contains(x.ProductId)).ToArray();

}

O erro aparece em cima da linha refeicoes. Esse array tem um valor, que nesse caso é: "Breakfast for 2". Alguém tem uma dica para resolver esse pepino?
Pjava

Pjava

Responder

Posts

08/04/2014

Pjava

Olá a todos. Descobri o motivo. Acontece que em minha expressão lambda, essa linha ...a.AnswerOffersList[0].IncludesItems... o includesitems estava vindo vazia. Como eu retornava um First(), ele gerava a exception. Troquei para FirstOrDefault(), pois me disseram que ele retorna um vazio e não gera uma exception como o First(). Fiz isso e resolveu a questão. Obrigado.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar