Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

FirstOrDefault() no lugar do Where()

No exemplo usado na aula, não seria melhor só usar o FIrstOrDefault() ao invés de usar o Where() depois o FirstOrDefault()? O Where() retorna um IEnumerable com todos os itens que correspondem ao lambda dentro dele. O FirstOrDefault() já retornaria o elemento de cara.

1 resposta
solução!

Olá, Vinicius, tudo bem?

Você está correto ao dizer que o método FirstOrDefault() já retorna o primeiro elemento que corresponde à condição especificada. No entanto, o uso do método Where() antes do FirstOrDefault() tem um propósito específico.

O método Where() é usado para filtrar a sequência de elementos com base em uma condição e retorna uma coleção de elementos que passam no teste. Em seguida, o método FirstOrDefault() é aplicado a essa coleção filtrada para retornar o primeiro elemento ou o valor padrão se a coleção estiver vazia.

Por outro lado, quando você usa FirstOrDefault() diretamente, ele percorre a coleção até encontrar o primeiro elemento que satisfaça a condição. Isso pode ser mais eficiente se a condição for satisfeita cedo na coleção, pois evita a necessidade de filtrar toda a coleção primeiro.

No exemplo da aula, a diferença entre usar Where().FirstOrDefault() e apenas FirstOrDefault() seria mínima, já que a lista de contas é pequena. No entanto, em uma situação onde você tem uma grande coleção de dados, a escolha entre os dois pode ter um impacto significativo na performance.

Espero ter te ajudado a entender melhor.

Um abraço e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software