person objs + grouping regex 的哪个集合 C# 匹配
Which collection C# for person objs + grouping regex matches
我正在编写一段代码,用于存储一组人员对象并对其进行排序,这些对象具有以下属性:名字、姓氏和 ID。
我希望使用一个通用集合 iterate/store 并对这些对象进行排序。我一直倾向于 SortedDictionary
class 来实现这一点。我知道还有其他选项,即 SortedList
或 Dictionary
(也知道 Dictionary
不会排序,至少不会单独排序)。
理想的键是Id
(类型String
),但我不能保证它们都是唯一的,而且数据是从数据库中检索的,所以还有人为错误的可能性,(id 不是 table 的 pk)。
就值而言,我希望存储对象本身的 array/list。因此,当我从集合中提取一把钥匙时,我将获得那个人的完整参考(姓名+身份证)。
现在我还希望根据正则表达式匹配(姓氏和名字重复)对该列表中的 objs 进行分组,而我没有经验的第一件事就是遍历集合(两个 for 循环,迭代通过两个集合,随着数据的增加,这将是昂贵的)。除了理想的集合是什么之外,我还想知道是否有其他有效的方法可以有效地对这些复制品进行分组。
您在这里真正想要的是使用某种形式的 LINQ(不是 LINQ to SQL,因为它是 DAL 和 LINQ 的混合体)。
例如,您可以将信息存储在 XML 中,并使用 LINQ 到 XML。信息可以作为实体收集并使用 LINQ to Entities。您还可以将 LINQ to Objects 用于任何使用 IEnumerable 的集合。一个简单的列表就可以了。
通过这种方式,您不必担心创建某种类型的派生键来查询对象组或对它们进行排序。您可以简单地拉取对象集合,然后根据需要进行切片、切块、过滤等。
而且,是的,您可以将 Regex 与 LINQ 结合使用:https://msdn.microsoft.com/en-us/library/bb882639.aspx
我正在编写一段代码,用于存储一组人员对象并对其进行排序,这些对象具有以下属性:名字、姓氏和 ID。
我希望使用一个通用集合 iterate/store 并对这些对象进行排序。我一直倾向于 SortedDictionary
class 来实现这一点。我知道还有其他选项,即 SortedList
或 Dictionary
(也知道 Dictionary
不会排序,至少不会单独排序)。
理想的键是Id
(类型String
),但我不能保证它们都是唯一的,而且数据是从数据库中检索的,所以还有人为错误的可能性,(id 不是 table 的 pk)。
就值而言,我希望存储对象本身的 array/list。因此,当我从集合中提取一把钥匙时,我将获得那个人的完整参考(姓名+身份证)。
现在我还希望根据正则表达式匹配(姓氏和名字重复)对该列表中的 objs 进行分组,而我没有经验的第一件事就是遍历集合(两个 for 循环,迭代通过两个集合,随着数据的增加,这将是昂贵的)。除了理想的集合是什么之外,我还想知道是否有其他有效的方法可以有效地对这些复制品进行分组。
您在这里真正想要的是使用某种形式的 LINQ(不是 LINQ to SQL,因为它是 DAL 和 LINQ 的混合体)。
例如,您可以将信息存储在 XML 中,并使用 LINQ 到 XML。信息可以作为实体收集并使用 LINQ to Entities。您还可以将 LINQ to Objects 用于任何使用 IEnumerable 的集合。一个简单的列表就可以了。
通过这种方式,您不必担心创建某种类型的派生键来查询对象组或对它们进行排序。您可以简单地拉取对象集合,然后根据需要进行切片、切块、过滤等。
而且,是的,您可以将 Regex 与 LINQ 结合使用:https://msdn.microsoft.com/en-us/library/bb882639.aspx