Project Descriptioni4o (index for objects) is the first class library that extends LINQ to allow you to put indexes on your objects. Using i4o, the speed of LINQ operations are often over one thousand times faster than without i4o.
i4o works by allowing the developer to put an Indexable attribute on any class, and then using the IndexableCollection<T> to implement a collection of that class that will use indexes, rather than sequential search, when doing LINQ operations that can benefit from indexing.
i4o reduces the amount of code required to implement custom indexes in collections to mere decoration of classes, while allowing LINQ queries over IndexableCollection<T> to automatically use the indexes where appropriate. i4o makes the idea of indexed LINQ not just a theory, but a "here and now" reality.
For more information please reference the initial blog posting describing the project here:
http://blog.magenic.com/blogs/aarone/archive/2007/04/09/Introducing-i4o.aspx