【发布时间】:2015-09-11 20:05:28
【问题描述】:
我有两个相同复杂对象的列表,但每个列表都有不同的对象数据。
我需要获得一组新的相同复杂对象的列表,但将它们组合起来以计算较小对象的数量。我不知道该怎么做。我试图想办法将它们联合起来,做addrange,并尝试使用字典,但这比我以前做过的任何事情都要复杂一些。我找到了类似的答案,但没有针对我的特定场景。
这是我可以对代码进行采样的最佳方法:
List<Object1> ListA;
List<Object1> ListB;
ListA.count() = 5
ListB.count() = 3
new List<Object1> Object1CombinedList;
1. List<Object1> Object1CombinedList (Object1 (from listA), Object1 (from ListB))
2. List<Object1> Object1CombinedList (Object1 (from listA), Object1 (from ListB))
3. List<Object1> Object1CombinedList (Object1 (from listA), Object1 (from ListB))
4. List<Object1> Object1CombinedList (Object1 (from listA), null))
5. List<Object1> Object1CombinedList (Object1 (from listA), null))
我正在考虑以某种方式循环遍历两个独立的列表,以便将它们组合成每一对。 (我原以为我可以用字典来做到这一点,但不能让它工作)。最终结果是,我需要一组新的列表(同样是所有相同的复杂对象),等于两个列表中最长的长度的计数。
新集合需要包含来自列表 A 和列表 B 的匹配对,直到两个集合中较小的一个被用完,但对于较长列表的其余部分仍然包含单个复杂对象。
上面显示的五个列表是我需要从两个原始源列表中获取的示例。 (带有他们的数据样本)。
希望这有意义吗?尽可能以最好的方式问这个问题。
【问题讨论】:
-
必须是
List<List<Object1>>(内部列表正好包含2个元素)吗?可以改为List<Tuple<Object1, Object1>>吗? -
不清楚你在问什么。您想要 5 个新列表吗?
-
我需要它最终成为一组列表对象,但我不在乎它是从字典开始,还是先从其他东西开始。
-
是的,结果是我需要 5 个新列表(最长列表的最大数量)。