Olá, Eduardo. Como vai?
Excelente código! Sua implementação está perfeita e demonstra de forma muito clara como realizar a concatenação de coleções em C#. O uso do método AddRange() é exatamente a melhor prática para esse cenário, pois ele é altamente performático e evita a necessidade de criar um laço foreach manual apenas para copiar os elementos de uma lista para a outra.
Para complementar o seu projeto e expandir seus conhecimentos sobre manipulação de coleções, existem dois pontos e recursos avançados no C# que são muito utilizados no mercado para consolidar dados:
1. Evitando duplicidade com HashSet
O método AddRange() adiciona todos os itens cegamente. Se a sua produtosSecundaria contivesse um item que já existia na produtosPrincipal (como outro "Mouse"), a lista final ficaria com elementos duplicados.
Se o seu objetivo de negócio ao consolidar listas for garantir que não existam produtos repetidos, a estrutura de dados ideal não é a List<T>, mas sim o HashSet<T>. Veja como fazer essa conversão de forma simples:
// Unindo as duas listas e removendo duplicatas automaticamente
HashSet<string> produtosUnicos = new HashSet<string>(produtosPrincipal);
produtosUnicos.UnionWith(produtosSecundaria);
Console.WriteLine("Lista consolidada sem duplicatas:");
foreach (var item in produtosUnicos)
{
Console.WriteLine(item);
}
2. Consolidando com LINQ (Concat e Union)
Outra abordagem moderna e muito elegante no C# é utilizar o LINQ (adicionando o using System.Linq; no topo do código). O LINQ nos permite criar uma terceira lista consolidada sem modificar as duas listas originais, o que é uma excelente prática de imutabilidade:
Concat(): Junta as listas mantendo duplicados (comportamento igual ao seu AddRange).Union(): Junta as listas e remove automaticamente qualquer elemento repetido.
// Cria uma nova coleção combinada usando LINQ
var listaConsolidadaLinq = produtosPrincipal.Union(produtosSecundaria).ToList();
Parabéns pela resolução da atividade e por continuar consolidando tão bem os seus estudos em coleções do C#!
Espero que possa ter lhe ajudado!