【发布时间】:2015-02-25 17:17:15
【问题描述】:
我正在编写一段代码,该代码将存储人员对象的集合并对其进行排序,这些对象具有以下属性:名字、姓氏和 ID。
我希望使用一个通用集合来迭代/存储和排序这些对象。我一直倾向于 SortedDictionary 类来实现这一点。我知道还有其他选项,即SortedList 或Dictionary(也知道Dictionary 不会排序,至少不会单独排序)。
理想的键是Id(类型为String),但我不能保证它们都是唯一的,并且数据是从数据库中检索的,因此也存在人为错误的可能性, (id不是表的pk)。
就值而言,我希望存储对象本身的数组/列表。所以当我从集合中拉出一把钥匙时,我会得到那个人的完整参考(姓名+身份证)。
现在我还希望根据正则表达式匹配(姓和名重复)对这个列表中的 obj 进行分组,而我没有经验的第一件事就是遍历集合(两个 for 循环,遍历两个集合,随着数据的增加,这将是昂贵的)。除了理想的集合是什么之外,我还想知道是否有其他有效的方法可以有效地对这些 dup 进行分组。
【问题讨论】:
标签: c# database performance collections iteration