从重复条目中获取唯一字符串列表

时间:2015-02-22 08:44:07

标签: c# linq

我正在寻找一个LINQ函数,它返回包含这些字符串的对象列表中的唯一字符串列表。对象的字符串不是唯一的。像这样:

之前列出:

name="abc",value=3
name="xyz",value=5
name="abc",value=9
name="hgf",value=0

列出此函数将返回:

"abc","xyz","hgf"

这样的功能是否存在?当然我知道如何手动实现这个,但我很好奇LINQ是否能为我做到这一点。

3 个答案:

答案 0 :(得分:3)

var foo = list.Select(p => p.name).Distinct().ToList();

答案 1 :(得分:2)

您可以使用Distinct扩展方法。因此,基本上您将首先将原始对象投影到字符串集合中,然后应用Distinct方法:

string[] result = source.Select(x => x.name).Distinct().ToArray();

答案 2 :(得分:0)

(from object in objectList
 select object.name).Distinct();