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

Compilador não mostra Erro, mas o Output não é o esperado.

Olá pessoal!

Alguém por favor, me ajude a ver porque estou a ter este output. System.Collections.Generic.List`1[System.String]

 var nomes = new List<string>()
            {
                "Delcio",
                "Hemerson",
                "Celso",
                "Emilio",

            };
            nomes.Sort();

            foreach (var item in nomes)
            {
                Console.WriteLine($"Lista de nomes: {nomes}");
            }

            Console.ReadLine();
        }

Output:

Lista de nomes: System.Collections.Generic.List`1[System.String]
Lista de nomes: System.Collections.Generic.List`1[System.String]
Lista de nomes: System.Collections.Generic.List`1[System.String]
Lista de nomes: System.Collections.Generic.List`1[System.String]
2 respostas

Voce quer que cada linha mostre o nome em ordem?

Ou

Que mostra a lista toda uma vez ja com os nomes ordenados?

Console.WriteLine("Lista de nomes: " + item.ToString());

ou

var nomes = new List<string>()
            {
                "Delcio",
                "Hemerson",
                "Celso",
                "Emilio",

            };
            nomes.Sort();

          Console.WriteLine("Lista de nomes: "   + nomes[0]+" "+ nomes[1]+nomes[2]+nomes[3] );
            Console.ReadLine();
        }
solução!

Olá Délcio!

Você está tendo essa saída por causa que está mostrando na saída a lista toda ao invés de cada item separadamente:

Console.WriteLine($"Lista de nomes: {nomes}");
Lista de nomes: System.Collections.Generic.List`1[System.String]

Para ter a saída esperada, precisava fazer o WriteLine da variável item e não de nomes, exemplo:

foreach (var item in nomes)
 {
    Console.WriteLine($"Lista de nomes: {item}");
 }

Apenas um detalhe de confusão nas variáveis :)

Espero ter lhe ajudado!