0

我想在内存中保存大约 1000 条左右的客户记录,这些记录将按年龄排序。我将使用年龄作为我的搜索条件来查找客户,或者可能必须遍历列表以按年龄升序获取所有客户。

我的一个想法是创建一个大小为 110 的哈希表的数组实现(例如,以前可能从 0 年到 110 年不等)。每个哈希表插槽都对应年龄/年,然后我可以使用单独的链接来保留该年龄所有客户的链接列表。

尽管上述方法可以解决我的目的,但我不确定这是否是满足我需要的最佳方式。

涉及的技术将与 C# 和 Windows 窗体有关。

4

5 回答 5

0

您可以使用hashset. 它是 C# 中的一种集合,速度非常快。

于 2013-07-24T12:03:34.453 回答
0

我更喜欢Generic List<T>为此目的使用。并且可以随心所欲地操纵LINQ

于 2013-07-24T12:04:48.267 回答
0

创建一个具有必要属性(如 first_name 和 last_name 等)的类。然后创建一个字典,其中字典的键是唯一的,字典的值是该类的实例。

 public class User
 {
     public string firstName{get;set;}
     public string lastName{get;set;}
 }

你的字典:

 Dictionary<int, User> UserList = new Dictionary<int, User>();

使用字典,您可以使用 linq 从中获取查询或通过 id 查找特定用户。

于 2013-07-24T12:05:22.317 回答
0

如果您只需要存储 2 个值,那么您可以使用 Dictionary,否则您可以创建实体并使用它的 List。

于 2013-07-24T12:11:24.457 回答
0

根据您使用数据的方式,SortedList 可能比 HashSet 更好。

于 2013-07-24T12:21:28.940 回答