Melhor Algoritmo para Remover Valores Duplicados de uma Lista

Qual é o melhor algoritmo para remover valores duplicados de uma lista? Eu tentei isso:

for (int i = 0; i < AuthorCounter-1; i++)
{
    for (int j = 0; j < AuthorCounter-1; j++)
    {
        if (i != j)
        {
            if (AuthorGroupNode.Nodes[i].Text == AuthorGroupNode.Nodes[j].Text)
            {
                AuthorGroupNode.Nodes[j].Remove();
                AuthorCounter--;
            }

        }
    }
}

Aqui,AuthorGroupNodes é uma lista nos nós. Ele fez as coisas certas até certo ponto, mas não foi perfeito. Qualquer um tem melhor solução ???

questionAnswers(4)

yourAnswerToTheQuestion