C# array of objects - conditional validation
Sorry about the vague title!
I have an class with a number of member variables (system, 开发者_JS百科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.
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)));
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.
精彩评论