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

[Projeto] Desafio2 - Lista de inteiros

int qtdeDeItens;
ExibirLogo();
List<int> listaDeNumeros = new List<int>();
Console.Write("Por favor digite a quantidade de inteiros que a lista deverá ter: ");
while (!int.TryParse(Console.ReadLine(), out qtdeDeItens))
    Console.Write("Insira apenas número inteiro: ");

for (int i = 0; i < qtdeDeItens; i++)
{
    listaDeNumeros.Add(new Random().Next(-1, 101));
    Console.WriteLine($"O item {(i + 1)} é: {listaDeNumeros[i]}");
}

Console.WriteLine("\nExibindo numero pares da lista:");
foreach (int i in listaDeNumeros)
{
    if ((i % 2).Equals(0))
        Console.WriteLine(i);
}

void ExibirLogo()
{
    Console.WriteLine(@"
█▀▄▀█ ▄▀█ █▄░█ █ █▀█ █░█ █░░ ▄▀█ █▄░█ █▀▄ █▀█   █ █▄░█ ▀█▀ █▀▀ █ █▀█ █▀█ █▀
█░▀░█ █▀█ █░▀█ █ █▀▀ █▄█ █▄▄ █▀█ █░▀█ █▄▀ █▄█   █ █░▀█ ░█░ ██▄ █ █▀▄ █▄█ ▄█
");
}
4 respostas

Olá, Douglas!

Obrigado por compartilhar seu projeto aqui no Fórum.

No código que você compartilhou, você está utilizando a classe List<int> para criar uma lista de inteiros. A lista é preenchida com números aleatórios entre -1 e 101, e em seguida você itera sobre essa lista para exibir os números pares.

Para exibir apenas os números pares, você pode utilizar o operador de módulo %. O operador de módulo retorna o resto da divisão entre dois números. No caso, se o resto da divisão de um número por 2 for igual a 0, significa que o número é par.

No trecho de código abaixo, você pode adicionar uma condição dentro do loop foreach para verificar se o número é par antes de exibi-lo:

foreach (int i in listaDeNumeros)
{
    if (i % 2 == 0)
        Console.WriteLine(i);
}

Dessa forma, apenas os números pares serão exibidos no console.

Espero ter ajudado e bons estudos!

Opa @Lucas, bom dia!

O trecho abaixo faz exatamente isso, a diferença que eu uso o Equals ao invés de ==.

foreach (int i in listaDeNumeros)
{
    if ((i % 2).Equals(0))
        Console.WriteLine(i);
}

Ve algum problema em usar desta forma?

solução!

Olá, Douglas!

Não há problema algum. O código está ótimo. Foi só uma sugestão para complementar o post aqui no Fórum mesmo.

Parabéns pelo projeto!

Bons estudos!

Refatorei meu código para apresentar os números em ordem e depois a impressão usando LINQ.

int qtdeDeItens;
List<int> listaDeNumeros = new ();
Console.Write("Por favor digite a quantidade de inteiros que a lista deverá ter: ");
while (!int.TryParse(Console.ReadLine(), out qtdeDeItens))
    Console.Write("Insira apenas número inteiro: ");

for (int i = 0; i < qtdeDeItens; i++)
{
    listaDeNumeros.Add(new Random().Next(-1, 101));
    Console.WriteLine($"O item {(i + 1)} é: {listaDeNumeros[i]}");
}

listaDeNumeros.Sort();

Console.WriteLine("\nExibindo número em ordem crescente: ");
foreach (int i in listaDeNumeros)
    Console.WriteLine(i);


Console.WriteLine("\nExibindo número pares da lista:");
foreach (int i in listaDeNumeros.Where(x => (x % 2).Equals(0)))
    Console.WriteLine(i);