Olá pessoal !
Sabe aquela hora que você esta matutando na sua cabeça “como vou fazer isso”?
Pois bem, hoje vou mostra como criar uma lista a partir de outra lista utilizando a linguagem C#(C Charp) sem repetir os dados.
Em algum dia você vai precisar ou já precisou de algo assim, como no exemplo abaixo, onde uma lista que está no DataGridView é passada para o Combobox, bem como sem repetir os objetos.
Ou seja, criando uma nova lista com itens distintos, em outras palavras você terá mais maleabilidade e controle dos dados.
Tal Feito é possível devido ao uso de linq e do enumerador “distinct“;
- Lista atual: alunos.
- Nova lista: listNovaAlunos.
A imagem abaixo mostra o exemplo. Dessa forma, veja que a esquerda no DataGridView a lista está completa com dois nomes se repetindo.
Finalmente, ao clicar no botão “Obter Lista” o Combobox a direita é preenchido com uma nova lista de nomes, porém os nomes não se repetem.

Segue o código de como fazer:
// criando uma lista nova de alunos sem repetir nomes
var listNovaAlunos= (from x in alunos select x.Nome).Distinct().ToList();
// preenchendo um combobox com a lista nova
cmbNomes.DataSource = listNovaAlunos;
cmbNomes.Refresh();