在C#中,假设我有一个名为Note
的类,它有三个字符串成员变量。
public class Note
{
public string Title;
public string Author;
public string Text;
}
我有一个Note
类型的列表:
List<Note> Notes = new List<Note>();
要获取Author列中所有非重复值的列表,最简洁的方法是什么?
我可以遍历列表,并将所有不重复的值添加到另一个字符串列表中,但这似乎很脏,效率也很低。我有一种感觉,有一些神奇的Linq构造可以在一行中完成这项工作,但我还没有找到任何东西。
6条答案
按热度按时间lvjbypge1#
这将返回
Author
值的序列(IEnumerable<string>
)--每个唯一值一个。h9a6wy2h2#
按作者区分便笺类
6jygbczu3#
Jon Skeet编写了一个名为morelinq的库,其中包含一个
DistinctBy()
运算符。**更新:**如果您只是在寻找一组不同的作者,重新阅读您的问题后,Kirk会给出正确答案。
添加了示例,DistinctBy中的几个字段:
5cnsuln74#
通过使用上面的逻辑,我们可以得到唯一的
Course
s。xzlaal3s5#
piok6c0g6#