C#对象数组 - 条件验证

use*_*013 2 .net c# arrays

抱歉模糊的标题!

我有一个包含许多成员变量的类(系统,区域,站点......)

public sealed class Cello
{
    public String Company;
    public String Zone;
    public String System;
    public String Site;
    public String Facility;
    public String Process;
    //...
}
Run Code Online (Sandbox Code Playgroud)

我有这个类的对象数组.

private Cello[]   m_cellos = null;
// ...
Run Code Online (Sandbox Code Playgroud)

我需要知道数组是否包含具有相同站点但具有不同系统,区域或公司的对象,因为这种情况是非法的.我还有各种其他检查,但它们都是类似的.

Array类有许多看起来很有前途的函数,但我不是很喜欢定义'key selector'函数和类似的东西.

任何建议或指示将不胜感激.

--- Alistair.

Yur*_*ich 5

bool illegalCellos = m_cellos
    .Any(c => m_cello
        .Any(nc => nc.Site == c.Site && 
            (nc.Zone != c.Zone || nc.System != c.System || nc.Company != c.Company)));
Run Code Online (Sandbox Code Playgroud)