Cap*_*mic 4 .net c# dictionary sortedlist data-structures
我需要按价格(十进制)值对对象进行快速访问.我需要能够找到价格大于A或小于B的所有物品.我想到了SortedList,但它没有提供从给定键值开始查找升序或降序枚举器的方法(比如给我所有价格低于120美元的对象).
想象一个系统接受卖家出售的汽车并将它们存储到该集合中.然后买家希望找到比1000美元便宜的汽车.
基本上我需要的是基于树的集合和功能,以找到更小\更大\等于提供密钥的节点.
请指教.
答案取决于您的使用模式。如果这是消耗未排序的输入集并查找合适对象的一次性练习,那么您最好只使用 LINQ:
list.Where(e => A < e.Price || e.Price < B);
Run Code Online (Sandbox Code Playgroud)
如果列表是静态的,并且您想要查询多个范围,则将对象放入数组中,按价格对它们进行排序,然后使用二元印章查找感兴趣的范围。