1
resposta

Resultados diferentes

Bom dia. Resolvi o exercício dessa forma:

var dias = new[] {
                new { nome = "segunda", faturamento = 1000 },
                new { nome = "terça", faturamento = 2000 },
                new { nome = "quarta", faturamento = 12500 },
                new { nome = "quinta", faturamento = 11000 },
                new { nome = "sexta", faturamento = 22000 },
                new { nome = "sábado", faturamento = 9000 },
                new { nome = "domingo", faturamento = 18000 }};

            //Essa loja quer saber quais dias consecutivos tiveram faturamento igual ou superior a 10 mil reais.
            //Qual consulta LINQ pode trazer esse resultado ?

            var consulta = dias
                .Where(x => x.faturamento > 10000);
            foreach(var c in consulta)
            {
                Console.WriteLine(c);
            }
            Console.WriteLine();

A saída foi a seguinte:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeEscrevi também o exercício da forma que estava na resposta correta, porém na saída ele corta o domingo:

 var query = dias
                .SkipWhile(d => d.faturamento < 10000)
                .TakeWhile(d => d.faturamento >= 10000);
            foreach (var q in query)
            {
                Console.WriteLine(q);
            }

Saída:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadePorque isso se domingo o faturamento foi 18000 e isso é maior que 10000?

1 resposta

Karolina,

a questão pede os dias seguidos em que o faturamento foi maior que 10k.

No caso 4a, 5a e 6a o faturamento foi maior que 10k seguidamente. No sábado o faturamento foi menor que 10k, por isso quebra a sequencia e não inclui o domingo.

A sua solução basicamente pega todas linhas em que o faturamente é maior que 10k mas não necessariamente em sequencia.