Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Erro em expressão Lambda

Estava fazendo as atividades opcionais quando encontrei esse erro ao tentar usar uma expressão Lambda para resolver o exercício 3: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeEu já resolvi a atividade usando um método diferente, mas gostaria de saber o que causou esse erro.

Ps: Sem os parênteses antes e depois do cw o erro continua.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

aqui está o código que usei:

try
List<int> lita = [1, 2, 3, 4, 5, 15, 10, 40, 20, 30, 8, 9, 6];

Console.WriteLine(lita.Count);

try
{
    foreach (int number in lita) => Console.WriteLine(lita[number];
}
catch (Exception ex)
{
    Console.WriteLine($"Algo deu errado: {ex.Message}");

}
}
2 respostas
solução!

Olá, estudante. Tudo bem?

A expressão lambda não é necessária nesse contexto. O foreach é uma estrutura de controle que não utiliza lambdas para iterar sobre uma coleção. Aqui está como você pode corrigir o código:

try
{
    List<int> lita = new List<int> { 1, 2, 3, 4, 5, 15, 10, 40, 20, 30, 8, 9, 6 };

    Console.WriteLine(lita.Count);

    foreach (int number in lita)
    {
        Console.WriteLine(number);
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Algo deu errado: {ex.Message}");
}

Algumas correções importantes:

  1. Sintaxe do foreach: Use {} para delimitar o bloco de código que será executado para cada elemento da lista.
  2. Acesso ao elemento: Dentro do foreach, number já é o elemento da lista, então você deve usar Console.WriteLine(number);.
  3. Inicialização da lista: Use new List<int> { ... } para inicializar a lista corretamente.

Espero ter ajudado e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Obrigado pela resposta, eu não sabia que não era possível usar expressões lambda em foreachs, mas ao atualizar o foreach não foi preciso atualizar a declaração da lista.