My need is to have items in kind of Collections.Generic.Dictionary where I can get a struct by it's id as a key. Then I have need to fetch many structs, say 1% or less of all items, by another field. Like a cursor by an non-unique index. With Dictionary I have to browse through all the values and check which has the correct value for that field. My question is: "What data structure should I use to support this kind of unique index and non-unique index behaviour found in RDBMSs?"

Thanks!

br: Matti

EDIT: VS 2005 and .NET 2.0