user41013
user41013

Reputation: 1241

C# array of objects - conditional validation

Sorry about the vague title!

I have an class with a number of member variables (system, zone, site, ...)

public sealed class Cello
{
    public String Company;
    public String Zone;
    public String System;
    public String Site;
    public String Facility;
    public String Process;
    //...
}

I have an array of objects of this class.

private Cello[]   m_cellos = null;
// ...

I need to know whether the array contains objects with the same site but different systems, zones or companies since such a situation would be illegal. I have various other checks to make but they are all along similar lines.

The Array class has a number of functions that look promising but I am not very up on defining 'key selector' functions and things like that.

Any suggestions or pointers would be greatly appreciated.

--- Alistair.

Upvotes: 2

Views: 551

Answers (2)

Roast
Roast

Reputation: 1755

Instead of putting things in an array, perhaps you could look into using a DataTable.

You can then search through it with simple SQL statements.

This is useful if you have a LOT of entries.

Upvotes: 0

Yuriy Faktorovich
Yuriy Faktorovich

Reputation: 68687

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)));

Upvotes: 5

Related Questions