En C#, supongamos que tengo una clase llamada Nota con tres variables de miembro de cadena.Obtenga una lista de valores distintos en la Lista
public class Note
{
public string Title;
public string Author;
public string Text;
}
Y tengo una lista de tipo Nota:
List<Note> Notes = new List<Note>();
¿Cuál sería la forma más limpia para obtener una lista de todos los valores distintos en la columna de Autor?
Pude iterar por la lista y agregar todos los valores que no son duplicados a otra lista de cadenas, pero esto parece sucio e ineficiente. Tengo la sensación de que hay una construcción mágica de Linq que hará esto en una línea, pero no he podido encontrar nada.
Notes.Select (x => x.Author) .AsParallel(). Distinct(); "AsParallel()" puede brindar algún beneficio de rendimiento, si no nos importa el orden y tenemos más elementos en la lista. – Sai
@Kiquenet, distinto teniendo en cuenta el comparador de igualdad 'Default'. https://msdn.microsoft.com/en-us/library/bb348436(v=vs.110).aspx –
¿Necesitamos agregar ToList() antes de .Distinct()? –