public IEnumerable <PaEntry> GetAllByLevel(Func <Tkey, int> LevelFunc) { //throw new Exception("GetAllByLevel dois not implemented in DinamicIndexUnique"); PaEntry[] dyna = new PaEntry[0]; if (_unique) { dyna = keyent.Where(pair => LevelFunc(pair.Key) == 0).Select(pair => pair.Value).ToArray(); } else { dyna = keyents.Where(pair => LevelFunc(pair.Key) == 0).SelectMany(pair => pair.Value).ToArray(); } if (Table.Count() == 0) { return(dyna); } PaEntry ent = Table.Element(0); return(dyna.Concat(IndexArray.IndexCell.Root.BinarySearchAll(e => { long off = (long)e.Get(); ent.offset = off; Tkey k = KeyProducer(ent.Get()); return LevelFunc(k); }))); }