如何在比较值时使用 linq 选择非重复

本文关键字:选择 linq 比较 | 更新日期: 2023-09-27 18:34:14

>我需要在比较 2 个值的地方进行选择。在该方法中,我执行以下操作:

DistinctErrors = Errors.Select(o => new { o.Type, o.References })
                       .Distinct()
                       .Count();

o.Type 是一个字符串,但 o.References 是一个对象的集合。o.References中的每个对象都有一个作为字符串的Name属性和一个作为字符串的Value Property,它实际上是o.Type和每个o.Reference的名称和值,我想比较,所以它实际上是3个要比较的值。

如何将"类型"与每个引用名称和值进行比较?

谢谢彼得

如何在比较值时使用 linq 选择非重复

也许您想使用 SelectMany 展平引用?

DistinctErrors = Errors.SelectMany(o => o.References, (o, r) => new {o.Type, r.Name, r.Value})
                       .Distinct()
                       .Count();