Obter uma lista de valores distintos na lista

Em C #, digamos que eu tenha uma classe chamada Note com três variáveis ​​de membro String.

<code>public class Note
{
    public string Title;
    public string Author;
    public string Text;
}
</code>

E eu tenho uma lista do tipo Nota:

<code>List<Note> Notes = new List<Note>();
</code>

Qual seria a maneira mais limpa de obter uma lista de todos os valores distintos na coluna Autor?

Eu poderia percorrer a lista e adicionar todos os valores que não são duplicados para outra lista de seqüências de caracteres, mas isso parece sujo e ineficiente. Eu tenho a sensação de que há alguma construção mágica do Linq que fará isso em uma linha, mas eu não consegui chegar a nada.

questionAnswers(5)

yourAnswerToTheQuestion