【发布时间】:2011-02-11 11:55:35
【问题描述】:
我需要对象按价格排序(十进制)值以便快速访问。我需要能够找到价格高于A或低于B的所有对象。我在考虑 SortedList,但它没有提供从给定键值开始查找升序或降序枚举数的方法(比如给我价格低于 120 美元的所有对象)。
考虑一个系统,它接受来自卖家的待售汽车并将它们存储到该集合中。然后买家希望找到价格低于 1000 美元的汽车。
基本上我需要的是基于树的集合和功能来查找更小\更大\等于提供的键的节点。
请指教。
【问题讨论】:
-
据我了解,您必须以某种方式将对象存储在内存中,并能够快速选择其中一些。你为什么要问这个? (可能你有一些细节?)这样的操作非常快(因为它全部在内存中,而不是 SQL 查询),你必须继续以某种方式实现它。您可以将逻辑封装在某个类中并提供接口。当困难来临时(如果他们真的来了),你必须分析和优化你的课程(界面应该是不变的)。对于您的班级的第一次实施,Marcelo Cantos 的解决方案已经足够好了。不要害怕 LINQ:)
标签: c# .net data-structures dictionary sortedlist