从列表中获取不同的项目

时间:2011-01-09 12:10:26

标签: c# linq list

我有一个包含三个整数属性的对象列表。如何从列表中获取第一个整数属性的不同值?

4 个答案:

答案 0 :(得分:56)

这应该有效,

List<int> result = YourListObject.Select(o => o.FirstInteger).Distinct().ToList();

答案 1 :(得分:9)

尝试:

var g = collection.Select(i => i.Property1).Distinct();

您可以发布一些源代码,以便我们为您提供更好的示例吗?

编辑:

在我的示例中,我有一个集合collection,其中包含您班级的众多实例。然后我从每个类中选择Property1,过滤到该属性的不同值。

答案 2 :(得分:6)

我发现这对我来说非常有用并且工作正常。

var distinctNames = (from d in YourList select d).Distinct();

希望这对像我这样在SO中搜索细节的人有用。

答案 3 :(得分:2)

更复杂的区别的示例。...

licenseLookupItems = tmpList
                .GroupBy(x => new {x.LicenseNumber, x.Name, x.Location, x.Active, x.Archived})
                .Select(p => p.FirstOrDefault())
                .Select(p => new LicenseNumberLookupItem
                {
                    LicenseNumber = p.LicenseNumber,
                    Name = p.Name,
                    Location = p.Location,
                    Active = p.Active,
                    Archived = p.Archived
                })
                .ToList();