В C #, скажем, у меня есть класс с именем Note с тремя переменными-членами String.
public class Note
{
public string Title;
public string Author;
public string Text;
}
И у меня есть список типа Примечание:
List<Note> Notes = new List<Note>();
Какой самый чистый способ получить список всех различных значений в столбце Автор?
Я мог бы перебрать список и добавить все значения, которые не являются дубликатами, в другой список строк, но это кажется грязным и неэффективным. У меня есть ощущение, что есть какая-то волшебная конструкция Linq, которая сделает это в одну строку, но я ничего не смог придумать.
Default
равенство равенства. msdn.microsoft.com/en-us/library/bb348436(v=vs.110).aspxРазличить класс Note по автору
источник
Notes
как воNotes.GroupBy()
множественном числе,s
посколькуNote
будет содержать только одну ноту?Джон Скит написал библиотеку morelinq, в которой есть
DistinctBy()
оператор. Смотрите здесь для реализации. Ваш код будет выглядеть такОбновление: после перечитывания вашего вопроса у Кирка будет правильный ответ, если вы просто ищете определенный набор авторов.
Добавлен пример, несколько полей в DistinctBy:
источник
Install-Package morelinq
Используя вышеупомянутую логику, мы можем получить уникальные
Course
s.источник
источник