try LINQ...

some UnitTests...