【发布时间】:2015-08-31 12:36:01
【问题描述】:
我有一个带有分隔格式的字符串,如下所示:
组织名:名姓氏,名姓姓氏;
(这可以与组织名称和每个组织的可变名称重复)
例子:
**XXX University**: Martha Zander, Rick Anderson; **Albert School**: Nancy Vanderburg, Eric Towson, George Branson; **Hallowed Halls**: Jane Goodall, Ann Crabtree, Rick Grey, Tammy Hudson;
生成的字符串需要按 orgname 和 lastname 进行分组和排序,如下所示:
**Albert School**: George Branson, Eric Towson, Nancy Vanderburg;
**Hallowed Halls**: Ann Crabtree, Jane Goodall, Rick Grey, Tammy Hudson;
**XXX University**: Rick Anderson, Martha Zander;
我已经走到这一步了:
string[][] splitThis = staff.Split(';').Select(s => s.Split(':')).ToArray();
这给了我一个按 orgname 拆分的数组,然后我被卡住了。
我知道我需要一个包含 orname、firstname、lastname 的多维数组,但我不知道如何填充、分组和排序以获得正确的结果。
【问题讨论】:
-
为什么不使用排序字典?
-
您是否有可能遇到一个姓名不完全由两部分组成的人?喜欢
Mary Jane Watson或Dale Earnhardt Jr.? -
你如何定义姓氏。您有多个名字或多个姓氏的人。像“巴斯克维尔的威廉”、“穿刺者弗拉德”和“玛丽·罗斯·福”。
-
为什么需要多维数组?这似乎是定义类的最佳时机(例如
Person和Organization)。 -
不幸的是,客户以这种格式提供给我们的数据都是手动输入到数据库的一个字段中的 (sigh)。我们被告知要尽可能对它进行分类以进行展示。因此,可能有多个名字或姓氏,但我认为没有办法确定和调整这一点。 @ryanyuyu