Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq返回对象列表中一个属性的交集_C#_Linq - Fatal编程技术网

C# Linq返回对象列表中一个属性的交集

C# Linq返回对象列表中一个属性的交集,c#,linq,C#,Linq,我有一个包含一组分数的一组对象的IEnumerable。 我需要在IEnumerable的末尾创建最后一个对象来定义总分 此对象包含相同的列,每个列都是列表中对象属性的交点。 例:totalscore中的属性将代表所有其他属性的交集,如果至少有一个属性失败,那么它应该出现失败。仅当列表中的所有对象都具有“通过”分数时,才为“通过” 这是分数定义: public enum Score { NotRated = 0x00, Pass = 0x01, Fail = 0x03 }

我有一个包含一组分数的一组对象的IEnumerable。 我需要在IEnumerable的末尾创建最后一个对象来定义总分

此对象包含相同的列,每个列都是列表中对象属性的交点。 例:totalscore中的属性将代表所有其他属性的交集,如果至少有一个属性失败,那么它应该出现失败。仅当列表中的所有对象都具有“通过”分数时,才为“通过”

这是分数定义:

public enum Score
{
    NotRated = 0x00,
    Pass = 0x01,
    Fail = 0x03
}
我已经将IEnumerable转换为列表,并添加了如下新项:

projectedResult.Add(
            new
            {
                Title = "Total Result",

                IOTest = from rst in projectedResult
                         rst.IOTest ... #### *1 ####,
            }
        );

*1-鉴于您对值的定义,我需要在projectedResult中的所有对象之间相交相同的属性,如果值不相同,则缺少所需的结果

IOTest = (Score)projectedResult.Aggregate(0x00, (ttlrst, rst) => ttlrst | rst.IOTest )

“如果全部通过则返回通过,如果全部失败且未评级则返回失败”如果属性值是异构的,结果应该是什么?列表中的所有对象都包含相同的属性,最后一个“总分”将仅显示它们的交集。。lilke Pass&Pass&Fail=Failenum可以强制转换为整数:(int)NotRated==0x01Done,类似,但有效的projectedResult.Aggregate(Score.NotRated,(ttlrst,rst)=>ttlrst | rst.IOTest);谢谢