Será que tem como fazer uma solução do desafio mais simples? o uso do this só me confundiu, não cheguei a entender muito bem as conexões e verificações entre as listas
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Será que tem como fazer uma solução do desafio mais simples? o uso do this só me confundiu, não cheguei a entender muito bem as conexões e verificações entre as listas
Olá, Christopher! Tudo joia?
Entendo que o uso do this possa ser um pouco confuso no início, mas vamos tentar simplificar um pouco as coisas.
O this é uma palavra-chave em C# que se refere à instância atual da classe. No contexto do desafio, this é usado para referenciar a instância atual da classe Filme ou Artista em que o código está sendo executado.
Vamos pegar como exemplo a parte do desafio que pede para modificar as classes Artista e Filme para serem consistentes uma com a outra. Isso pode ser feito com o uso do this da seguinte maneira:
public class Filme
{
public string Titulo { get; set; }
public List<Artista> Elenco { get; set; }
public void AdicionarArtista(Artista artista)
{
Elenco.Add(artista);
artista.Filmes.Add(this);
}
}
public class Artista
{
public string Nome { get; set; }
public List<Filme> Filmes { get; set; }
public void AdicionarFilme(Filme filme)
{
Filmes.Add(filme);
filme.Elenco.Add(this);
}
}
Nesse exemplo, quando você adiciona um Artista a um Filme usando o método AdicionarArtista, você também está adicionando esse Filme à lista de filmes do Artista. O this nesse contexto se refere à instância atual da classe Filme ou Artista que está sendo manipulada.
Lembre-se, a prática é essencial para o aprendizado, então continue tentando e explorando diferentes abordagens para resolver o desafio.
Espero que essa explicação tenha deixado as coisas um pouco mais claras para você.
Bons estudos!