1
resposta

[Projeto] Meu FOREACH não funcionou

List<int> ListaDeNum= new List<int>{1,2,3,4,5,6,7,8,9,10};
int nCont;


Console.WriteLine("Contagem de números");

for (nCont = 0; nCont < ListaDeNum.Count; nCont++)
{
    Console.WriteLine(ListaDeNum[nCont] +"\n");
}

List<int> SegundaList = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

foreach (int nNum in SegundaList) 
{
    if (SegundaList[nNum] % 2 == 0)
    {
        Console.WriteLine($"Valor par digitado: {SegundaList[nNum]}\n");
    }
}

Meu FOREACH aprensenta uma mensagem de erro, sempre quando eu ia executa-lo sempre dava erra na linha do IF, mais especificadamente na sua condição. Mas mesmo assim funcionava, mas acompanhado de uma mensagem.

1 resposta
List<int> SegundaList = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

foreach (int nNum in SegundaList) 
{
    if (SegundaList[nNum] % 2 == 0)
    {
        Console.WriteLine($"Valor par digitado: {SegundaList[nNum]}\n");
    }
}

quando vc usa foreach vc pega o valor que esta na lista e nao o indice da lista o teu codigo deveria ser algo assim:

List<int> SegundaList = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

foreach (int nNum in SegundaList) 
{
    if (nNum % 2 == 0)
    {
        Console.WriteLine($"Valor par digitado: {nNum}\n");
    }
}

Perceba que o nNum ja eh o valor que esta na lista.