LINQ to Objects is a great improvement in .NET 3.5 to query in-memory collections. It offers a nice declarative query syntax, strong-typing and support for a rich set of operations. One of the things that LINQ to Objects does not offer is indexing. Indexing collections of objects could greatly improve the performance of queries. Some people realized this and Aaron Erickson even extended LINQ to Objects to provide support for indexing. i4o (indexes for objects) is the solution he proposes. i4o is available on CodePlex and described in Aaron's weblog.
Crossposted from http://linqinaction.net