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

Dúvida sobre conversão implícita no ToString

Bom dia! No tópico 2, parte 7 (Ordenando e totalizando) Temos uma classe Aula que tem o seu ToString e é criada uma classe Cursos que possui alguns campos/propriedades. E um desses campos é uma lista de aulas (List). O que estou tentando fazer sem sucesso é criar um Tostring para a classe Curso e quando chamar Console.WriteLine(curso) obter todas as informações da classe Curso inclusive a lista de Aulas. Segue abaixo a imagem do código que estou tentando fazer: ![ToString da classe Curso] (https://cdn1.gnarususercontent.com.br/1/766965/84f3be83-11c9-47c4-9357-d7be62efaded.png)O que estou tentando fazer na linha onde existe um erro de compilação é iterar a lista de aulas a partir de um ForEach e para cada aula imprimir o ToString corresponde. Porém é retornado o seguinte erro: "Não é possível converter implicitamente tipo "void" em "object". Não consegui compreender onde essa conversão implicita está ocorrendo e não consegui achar sentido nesse erro uma vez que o Console.WriteLine() usado dentro da expressão lambda para imprimir o ToString de cada aula está de acordo com o tipo de retorno do ForEach que é void.

Desde já agradeço!

2 respostas
solução!

Olá Jeferson, como vai?

Acredito que o próprio String.Join te ajude com esse problema. Veja:

public override string ToString()
        {
            return $"Nome do curso: {nome}, " +
                $"\nNome do Instrutor: {Instrutor} " +
                $"\nAulas do Curso:\n{string.Join(",\n", aulas)}" +
                $"\nTempo Total : {TempoTotal}.";
        }

Espero ter ajudado. Qualquer dúvida estamos por aqui.

Abraços

Boa noite Ana! Pois é, na verdade estava tantando fazer isso sozinho, mas quando dei sequencia no curso vi essa forma com string.Join(), bem menos compliacado diga-se de passagem. Quer dizer que essa forma que tentei fazer apesar de ser um código válido nesse contexto não funciona? Por que fiz o teste em outro contexto com o ForEach que recebe uma Action e funcionou normalmente. Obrigado!