如何基于公共属性加入两个列表

假设我有两个由两个属性组成的Lists<myObject>地方myObject

ID(类型Int)和

(类型Double

我需要从像这样的(匿名)对象组成的两个列表中获取一个列表:

Id, [Double value from List 1], [Double value from List 2]

因此,如果对于一个给定的ID,两个列表都包含一个值,则它应类似于以下示例:

12, 21.75, 19.87

如果一个列表不包含另一个列表中存在ID的对象,则该值应为null

15, null, 22.52

我该如何实现?更新:当然,我知道如何获得这样的列表,但是我正在寻找最高效的方法,最好使用一些机智的Linq魔术。

t0yk4t

不知道这是如何优化的,但是应该满足您的需求-假设我了解您想要的是:

var enumerable1 = new[]
{
    new {Id = "A", Value = 1.0},
    new {Id = "B", Value = 2.0},
    new {Id = "C", Value = 3.0},
    new {Id = "D", Value = 4.0},
    new {Id = "E", Value = 5.0},
};

var enumerable2 = new[]
{
    new {Id = "A", Value = 6.0},
    new {Id = "NOT PRESENT", Value = 542.23},
    new {Id = "C", Value = 7.0},
    new {Id = "D", Value = 8.0},
    new {Id = "E", Value = 9.0},
};

var result = enumerable1.Join(enumerable2, arg => arg.Id, arg => arg.Id,
    (first, second) => new {Id = first.Id, Value1 = first.Value, Value2 = second.Value});

foreach (var item in result)
    Console.WriteLine("{0}: {1} - {2}", item.Id, item.Value1, item.Value2);
Console.ReadLine();

结果输出类似于:

A: 1 - 6
C: 3 - 7
D: 4 - 8
E: 5 - 9

并没有真正知道为什么要返回空值,除非您绝对需要这样做(此外,double是不可为空的,因此它必须是作为结果的组合条目,而不是null)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

合并两个不同的列表,然后按C#上的公共属性排序?

来自分类Dev

在公共属性上连接两个ActiveRecord关联

来自分类Dev

在公共属性上连接两个ActiveRecord关联

来自分类Dev

使用c#获取两个不同对象的公共属性

来自分类Dev

如何在公共事件属性上加入两个事件流?

来自分类Dev

如何加入两个列表?

来自分类Dev

基于公共属性合并2个json数组对象

来自分类Dev

基于公共属性合并2个json数组对象

来自分类Dev

在JavaScript中,有一种优雅的方式可以合并两个Object并求和任何公共属性?

来自分类Dev

如何在Scala中加入两个列表?

来自分类Dev

如何加入两个没有重复的元组列表

来自分类Dev

如何在C#中加入两个列表?

来自分类Dev

如何从两个列表中检测公共元素?

来自分类Dev

基于两个属性从列表中检索多个对象

来自分类Dev

基于两个属性深度过滤字典列表

来自分类Dev

如何基于对象索引合并两个列表-保留属性?

来自分类Dev

在LINQ中加入两个列表

来自分类Dev

如何汇总公共属性值的结果?

来自分类Dev

如何基于仅具有公共属性子集的多个表创建视图?

来自分类Dev

列表之间的两个公共元素

来自分类Dev

如何基于属性获取两个类的交集

来自分类Dev

如何基于键合并两个元组列表?

来自分类Dev

如何基于同一字段加入两个rdds?

来自分类Dev

如何基于属性合并两个对象列表并将重复项合并到新对象中

来自分类Dev

如何基于具有重复行的公共字段合并/合并两个文件

来自分类Dev

如何在MVC中基于公共字段连接两个模型

来自分类Dev

如何加入两个大查询?

来自分类Dev

如何加入两个查询

来自分类Dev

如何加入两个SELECT语句?

Related 相关文章

热门标签

归档