如何获取列表中所有不同值的字符串[]?

时间:2010-03-25 12:41:32

标签: c#

我有一个类中有list<Book>的类,而那些Book个对象有很多属性。 string Subject是其中一个属性。

我想获得一个string[]类型的值,其中包含来自整个列表的所有不同主题。

有没有一种优雅的方法,或者我必须扫描整个列表并输入每个主题,然后删除重复项?

2 个答案:

答案 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();