【发布时间】:2014-04-09 16:53:49
【问题描述】:
我正在使用 LINQ 生成两个单独的项目列表。但是,我需要以特定方式合并这两个列表。我已经按照特定属性(序列号)进行排序并做一些其他的事情来确保一切都在它应该在的地方,但是结果集却让我望而却步。
这是我目前所拥有的:
List<item> list1 = { item1, item2, item3, item7, item8, item11, item12 }
List<item> list2 = { item4, item5, item6,
item4, item5, item6,
item9, item10,
item9, item10 }
结果集应如下所示:
List<item> listFinal = { item1, item2, item3,
item4, item5, item6,
item4, item5, item6,
item7, item8,
item9, item10,
item9, item10,
item11, item12 }
基本上,无论有多少组重复项,我都需要按顺序包含重复项的最终列表。可能有一个,可能有很多,也可能没有。
有没有一种简单的方法可以在我拥有的两台设备上使用 LINQ 来完成此任务?还是我必须使用 if 语句来连接列表?
【问题讨论】:
-
您希望它们按什么“顺序”?
item是否有表明此顺序的属性? -
顺序应如上面的最终列表所示。为了便于阅读,我将这些行隔开。
-
@EricOlson 你想按他们的名字对你的项目进行排序吗?或某种财产/领域?你能给我们更多关于物品类别的细节吗?
-
您上面的代码按变量名显示顺序。您需要提供一个值。
-
值是什么并不重要。它可以是任何东西。我有我需要的值,并按它们排序。每个项目都有一个序列号,这就是我正在使用的。上面的代码被高度简化了。
标签: c# linq list ienumerable