我有一个类中有list<Book>
的类,而那些Book
个对象有很多属性。
string Subject
是其中一个属性。
我想获得一个string[]
类型的值,其中包含来自整个列表的所有不同主题。
有没有一种优雅的方法,或者我必须扫描整个列表并输入每个主题,然后删除重复项?
答案 0 :(得分:9)
string[] subjects = books.Select(i => i.Subject).Distinct().ToArray();
答案 1 :(得分:5)
这将返回不同的主题:
books.Select(b => b.Subject).Distinct()
要使用字符串创建数组,请使用ToArray方法:
string[] subjects = books.Select(b => b.Subject).Distinct().ToArray();