我遇到了一种情况,那就是我从Excel中加载了一个非标准化的记录集。我拉动每一行,并逐个创建一个对象。每行可以包含公司和/或客户。C#在运行时将两个对象合并在一起
我的问题是多行可能有相同的对象,所以我可能已经创建它。我做了比较,看它是否已经在列表中。如果是这样,我需要合并这两个对象以确保我没有从第二行获得任何新信息。
这样:
company - client - address - phone
----------------------------------------
mycompany - - myaddress -
mycompnay - myclient - - myphone
所以第一行会创建一个公司物体的“myaddress”的地址。 第二行将创建另一个公司对象(由我的规则是同一家公司,因为名称相同),这也有一个客户端引用和电话号码。
所以我会知道他们是一样的,但需要确保所有的数据合并成一个对象。
目前我正在创建一个实用程序类,它接受两个对象(一个是主合并,另一个是合并的,因此如果发生冲突,则优先),它会遍历每个变量并分配值如果有的话。这是一个沉重的锅炉板,我希望有一些工具可以用来为我做手动工作。
该示例已被简化,因为其他变量相当少,某些基本类型和其他更复杂的项目。
你确定总是有最多2个对象需要合并吗?如果同一列/属性定义两次,会发生什么?听起来很危险,只是忽略一个!? – Achim 2010-03-07 14:33:26
他们的方式我正在遍历我的集合,此刻我将在每个找到的匹配中进行合并。理论上可以通过集合进行多次匹配,但每次合并都会一次完成一次。如果用户输入错误的数据,以至于我不得不因为多个字段而失去一些价值,那么我无法看到它。 – Jon 2010-03-07 14:39:34